网站建设 的公,宝安新闻,WordPress 聊天小工具,内蒙古呼和浩特特产文章目录 序言1. 字典的创建和访问2. 字典如何添加元素3. 字典作为函数参数4. 字典排序 序言
总结字典的一些常见用法
1. 字典的创建和访问 字典是一种可变容器类型#xff0c;可以存储任意类型对象 key : value#xff0c;其中value可以是任何数据类型#xff0c;key必须… 文章目录 序言1. 字典的创建和访问2. 字典如何添加元素3. 字典作为函数参数4. 字典排序 序言
总结字典的一些常见用法
1. 字典的创建和访问 字典是一种可变容器类型可以存储任意类型对象 key : value其中value可以是任何数据类型key必须是不可变的如字符串、数字、元组不可以用列表 key是唯一的如果出现两次后一个值会被记住 字典的创建 创建空字典 dictionary {}直接赋值创建字典 dictionary {name : Nick, age : 20, height : 175}通过关键字dict和关键字参数创建字典 dictionary dict(nameNick, age20, height175)dictionary dict()
for i in range(1, 5):dictionary[i] i * i
print(dictionary) # 输出结果{1: 1, 2: 4, 3: 9, 4: 16}通过关键字dict和二元组列表创建 my_list [(name, Nick), (age, 20), (height, 175)]
dictionary dict(my_list)通过关键字dict和zip创建 dictionary dict(zip(abc, [1, 2, 3]))
print(dictionary) # 输出{a: 1, b: 2, c: 3}通过字典推导式创建 dictionary {i: i ** 2 for i in range(1, 5)}
print(dictionary) # 输出{1: 1, 2: 4, 3: 9, 4: 16}通过dict.fromkeys()来创建 dictionary dict.fromkeys(range(5), x)
print(dictionary) # 输出{0: x, 1: x, 2: x, 3: x}这种方法用来初始化字典设置value的默认值 字典的访问 通过键值对访问 dictionary {name : Nick, age : 20, height : 175}
print(dictionary[age])通过dict.get(key, defaultNone)访问default为可选项指定key不存在时返回一个默认值如果不设置默认返回None dictionary {name : Nick, age : 20, height : 175, 2 : test}
print(dictionary.get(3, 字典中不存在键为3的元素))遍历字典的items dictionary {name : Nick, age : 20, height : 175, 2 : test}
print(遍历输出item:)
for item in dictionary.items():print(item)print(\n遍历输出键值对:)
for key, value in dictionary.items():print(key, : , value)遍历字典的keys或values dictionary {name : Nick, age : 20, height : 175, 2 : test}print(遍历keys:)
for key in dictionary.keys():print(key)print(\n通过key来访问:)
for key in dictionary.keys():print(dictionary[key])print(\n遍历value:)
for value in dictionary.values():print(value)遍历嵌套字典 for key, value in dict_2.items():if type(value) is dict: # 通过if语句判断value是不是字典for sub_key, sub_value in value.items():print(sub_key, →, sub_value)2. 字典如何添加元素 使用[] dictionary {}
dictionary[name] Nick
dictionary[age] 20
dictionary[height] 175
print(dictionary)使用update()方法 dictionary {name: Nick, age: 20, height: 175}
dictionary.update({age : 22}) # 已存在则覆盖key所对应的value
dictionary.update({2 : tetst}) # 不存在则添加新元素
print(dictionary)3. 字典作为函数参数 字典作为参数传递时函数内对字典修改原来的字典也会改变 dictionary {name: Nick, age: 20, height: 175}
dictionary.update({age: 22}) # 已存在则覆盖key所对应的value
dictionary.update({2: test}) # 不存在则添加新元素
print(dictionary)def dict_fix(arg):arg[age] 24dict_fix(dictionary)print(dictionary) # age : 24字典作为可变参数时函数内对字典修改不会影响到原来的字典 dictionary {name: Nick, age: 20, height: 175}
dictionary.update({age: 22}) # 已存在则覆盖key所对应的value
dictionary.update({2: test}) # 不存在则添加新元素
print(dictionary, \n)def dict_fix(**arg):for key, value in arg.items():print(key, -, value) # age : 22arg[age] 24dict_fix(**dictionary)print(\n, dictionary) # age : 22关于字典作为**可变参数时的key类型说明 dictionary {}
dictionary.update({2: test})
print(dictionary, \n)def dict_fix(**arg):for key, value in arg.items():print(key, -, value)arg[age] 24dict_fix(**dictionary)报错TypeError: keywords must be strings意思是作为**可变参数时key必须是string类型作为普通参数传递则不存在这个问题 dictionary {}
dictionary.update({2: test})
print(dictionary, \n)def dict_fix(arg):for key, value in arg.items():print(key, -, value)arg[2] newdict_fix(dictionary)补充一个例子 def function(*a,**b):print(a)print(b)
a3
b4
function(a, b, m1, n2) # (3, 4) {n: 2, m: 1}对于不使用关键字传递的变量会被作为元组的一部分传递给*a而使用关键字传递的变量作为字典的一部分传递给了**b
4. 字典排序 使用python内置排序函数 sorted(iterable, keyNone, reverseFalse)iterable可迭代对象key用来比较的元素取自迭代对象中reverse默认False升序, True降序 data sorted(object.items(), keylambda x: x[0]) # 使用x[0]的数据进行排序【参考文章】 字典的创建方式 字典的访问1 字典的访问2 字典中添加元素 字典作为函数参数1 字典通过关键字参数传参 字典作为可变参数时的key取值问题 *参数和** 形参的区别
created by shuaixio, 2023.10.05