字典/集合是无序的 没有索引和切片字典/集合是可变元素字典的键必须是不可能元素!!!!!字典不支持 + *** 作集合只能添加不可变元素创建空对象比较一、字典增添元素二、2种字典修改元素三、4种字典删除元素四、字典查询in五、3种字典取值六、字典复制七、4种字典遍历八、字典sorted排序问题九、集合增加元素十、集合修改元素十一、集合删除元素十二、集合查询十三、交集、并集、差集十四、集合遍历
字典/集合是无序的 没有索引和切片 字典/集合是可变元素 字典的键必须是不可能元素!!!!! 字典不支持 + *** 作 集合只能添加不可变元素list1 = [1, 2, 3] list2 = [4, 5, 6] list_val = list1 + list2 print(list_val) tuple1 = (1, 2, 3) tuple2 = (4, 5, 6) tuple_val = tuple1 + tuple2 print(tuple_val) # dict1 = {'name': 'Andy'} # dict2 = {'name': 'Jack'} # dict_val = dict1 + dict2 # 不支持! # print(dict_val)创建空对象比较
# 字典 d = {} d = dict() # 集合 s = set()一、字典增添元素
heros = {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'} heros['豹子头'] = '林冲' print(heros)
{'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘', '豹子头': '林冲'}二、2种字典修改元素
重复的替换,没有的在后面加
# 方法一 heros['及时雨'] = '宋公明' print(heros) # 方法二 update() dict_val = {'黑旋风': '李逵', '入云龙': '公孙胜', '花和尚': '鲁达'} heros.update(dict_val) print(heros)
{'及时雨': '宋公明', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘', '豹子头': '林冲'} {'及时雨': '宋公明', '玉麒麟': '卢俊义', '花和尚': '鲁达', '母夜叉': '孙二娘', '豹子头': '林冲', '黑旋风': '李逵', '入云龙': '公孙胜'}三、4种字典删除元素
heros = {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'} # 1. del 删除一个元素或整个字典 del(heros['及时雨']) # 括号可省 print(heros) # del(heros) # 删掉整个字典 # print(heros) # 2. pop 根据键名删除 heros.pop('花和尚') print(heros) # 3. popitem 删除最后一个 heros.popitem() heros.popitem() print(heros) # 4. clear heros.clear() print(heros)
{'玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'} {'玉麒麟': '卢俊义', '母夜叉': '孙二娘'} {} {}四、字典查询in
根据键名!看key有没有在字典中
heros = {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'} if '及时雨' in heros: print('该元素在字典中') else: print('该元素不在字典中')
该元素在字典中五、3种字典取值
heros = {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'} # 1. keys() keys = heros.keys() print(keys) print(list(keys)) for key in keys: print(key) # 2. values() values = heros.values() print(values) print(list(values)) for value in values: print(value) # 3. items() items = heros.items() print(items) print(list(items)) key, value = list(items)[0] print(key) print(value)
dict_keys(['及时雨', '玉麒麟', '花和尚', '母夜叉']) ['及时雨', '玉麒麟', '花和尚', '母夜叉'] 及时雨 玉麒麟 花和尚 母夜叉 dict_values(['宋江', '卢俊义', '鲁智深', '孙二娘']) ['宋江', '卢俊义', '鲁智深', '孙二娘'] 宋江 卢俊义 鲁智深 孙二娘 dict_items([('及时雨', '宋江'), ('玉麒麟', '卢俊义'), ('花和尚', '鲁智深'), ('母夜叉', '孙二娘')]) [('及时雨', '宋江'), ('玉麒麟', '卢俊义'), ('花和尚', '鲁智深'), ('母夜叉', '孙二娘')] 及时雨 宋江六、字典复制
# copy()浅拷贝 heros_copy = heros.copy() heros.pop('及时雨') print(heros) print(heros_copy)
{'玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'} {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'}七、4种字典遍历
# 1. 遍历key heros = {'及时雨': '宋江', '玉麒麟': '卢俊义', '花和尚': '鲁智深', '母夜叉': '孙二娘'} keys = heros.keys() print(keys) for key in keys: print(key) # 2. 遍历value values = heros.values() print(values) for value in values: print(value) # 3. 遍历item items = heros.items() print(items) for item in items: print(item) # 4. 遍历 key-value items = heros.items() print(items) for key, value in items: print(f'{key}->{value}')
dict_keys(['及时雨', '玉麒麟', '花和尚', '母夜叉']) 及时雨 玉麒麟 花和尚 母夜叉 dict_values(['宋江', '卢俊义', '鲁智深', '孙二娘']) 宋江 卢俊义 鲁智深 孙二娘 dict_items([('及时雨', '宋江'), ('玉麒麟', '卢俊义'), ('花和尚', '鲁智深'), ('母夜叉', '孙二娘')]) ('及时雨', '宋江') ('玉麒麟', '卢俊义') ('花和尚', '鲁智深') ('母夜叉', '孙二娘') dict_items([('及时雨', '宋江'), ('玉麒麟', '卢俊义'), ('花和尚', '鲁智深'), ('母夜叉', '孙二娘')]) 及时雨->宋江 玉麒麟->卢俊义 花和尚->鲁智深 母夜叉->孙二娘八、字典sorted排序问题
d = {"l": 1, "w": 213, "z": 123} print(sorted(d)) # 默认.keys() print(sorted(d.keys())) print(sorted(d.values())) print(sorted(d.items())) # 根据键九、集合增加元素
set_val = {'hello', 123, (1, 2, 3)} set_val.add('world') print(set_val)
{'world', 'hello', 123, (1, 2, 3)}十、集合修改元素
new_set = {4, 5, 6} set_val.update(new_set) print(set_val)
{4, 5, 6, 'world', 'hello', 123, (1, 2, 3)}十一、集合删除元素
# 1. del new_set # print(new_set) # 2. pop 随机删除一个元素 set_val.pop() set_val.pop() print(set_val) # 3. remove() 移除指定的元素,当移除的元素不存在,报错 set_val.remove((1, 2, 3, 4)) print(set_val) # 4. discard() 移除指定的元素,当移除的元素不存在,不报错,也不改变原集合 set_val.discard((1, 2, 3,4)) print(set_val)十二、集合查询
if (1, 2, 3,4) in set_val: print('该元素存在') else: print('该元素不存在')
该元素不存在十三、交集、并集、差集
# 交集 set1 = {1, 2, 3, 30, 40, 50} set2 = {30, 40, 50, 60, 70} set_val = set1.intersection(set2) set1.intersection_update(set2) # 无返回值 print(set_val) print(set1) # 并集 set1 = {1, 2, 3, 30, 40, 50} set2 = {30, 40, 50, 60, 70} set_val = set1.union(set2) print(set_val) # 差集 set1 = {1, 2, 3, 30, 40, 50} set2 = {30, 40, 50, 60, 70} set_val = set1.difference(set2) set1.difference_update(set2) print(set_val) print(set1)
{40, 50, 30} {40, 50, 30} {1, 2, 3, 70, 40, 50, 60, 30} {1, 2, 3} {1, 2, 3}十四、集合遍历
s = {'1', '2', 'star'} for value in s: print(value) s = {'1', '2', 'star'} for i, value in enumerate(s): print(f"{i}-->{value}")
2 star 1 0-->2 1-->star 2-->1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)