字典dict
d = {"one":1, "two":2, "three":3}
print(d)
d = dict({"one": 1, "two": 2, "three": 3})
print(d)
d = dict(one=1, two=2, three=3) #利用关键字参数,不需要引号
print(d)
字典的特征
- 字典是无序序列类型,无分片和索引
- 数据由键值对组成,kv对。key必须是可哈希的值(int,str,float,tuple可以,list,set,dict不行)/value可以是任何值
常见操作
#访问数据
d = {"one":1, "two":2, "three":3}
print(d["one"]) #中括号内是键值
#更改value值
d["one"] = "eee"
print(d) #{"one":"eee", "two":2, "three":3}
#删除
del d["one"]
print(d) #{"two":2, "three":3}
#成员检测:in,not in 检测的是键,不是值也不是键值对
d = {"one":1, "two":2, "three":3}
if "two" in d:
print("key")
#遍历:
- 按key来使用for循环
for k in dict:
print(k, dict[k])
for k in d.keys():
print(k, dict[k])
- 只访问值
for v in dict.values():
print(v)
- 特殊用法
for k,v in dict.items():
print(k, '---', v)
字典生成式
d = {"one":1, "two":2, "three":3}
#常规字典生成式
dd = {k:v for k,v in d.items()}
print(dd) #{"one":1, "two":2, "three":3}
#加限制条件
dd = {k:v for k,v in d.items() if v % 2 == 0}
print(dd) #{"two":2}
字典相关函数
-
通用函数:len,max,min,dict
-
str(dict) 返回字典的字符串格式
-
clear() 清空字典
#items() 返回字典的键值对组成的元组格式
d = {"one":1, "two":2, "three":3}
i = d.items()
print(i) #dict_items([('one', 1), ('two', 2), ('three', 3)])
print(type(i)) #<class 'dict_items'>
#keys() 返回键组成的结构
k = d.keys()
print(k) #dict_keys(['one', 'two', 'three'])
print(type(k)) #<class 'dict_keys'>
#values()
v = d.values()
print(v) #dict_keys([1, 2, 3])
print(type(v)) #<class 'dict_values'>
get()
- 根据指定键返回相应的值,好处是可以设置默认值(当你不知道key是否存在的时候)
d = {"one":1, "two":2, "three":3}
print(d.get("on33")) #None
print(d.get("one", 100)) #1 (d中有‘one’,所以就返回‘one’的value)
print(d.get("on33", 100)) #100 (d中无‘on33’,所以就返回所给的默认值 100)
print(d['on33']) #报错:KeyError: 'on33'
fromkeys()
- 使用指定的序列作为键,用一个值作为所有键的值
l = ["eins", "zwei", "drei"
#fromkeys的调用主体就是dict
d = dict.fromkeys(l, "hahaha")
print(d)
#{'eins': 'hahaha', 'zwei': 'hahaha', 'drei': 'hahaha'}
来源:CSDN
作者:BenBirdsss
链接:https://blog.csdn.net/weixin_46126460/article/details/103791737