跳转至

字典和集合

📌 字典dict

  • 键值对格式,如dict1 = {'account':'7299'},与cookies数据格式类似。
  • 无序,一个key只能对应一个value。
  • 键必须为非空的、不可变对象;如frozenset[1,2,3]

🚁 字典常用方法

方法 说明
dict1.get('account','Not exist') 获取键'account'的值;不存在键时则返回'Not exist'避免抛异常
dict1.setdefault('account','none') 与get()类似,但不存在键时会设置默认值'none'
dict1.pop('account','Not exist') 删除单个键值对,返回键'account'的值;不存在键时返回'Not exist'避免抛异常
dict1.popitem() 删除最后一个键值对,返回该键值对元组
dict1.clear() 删除所有键值对
dict1.update({'pw':'008'}) 更新字典,若键相同,则更新值,若键不存在,则添加键值对
dict1.items() 返回字典中所有键值对的元组的列表,即键值对的列表
dict1.keys() 返回字典中所有键的列表
dict1.values() 返回字典中所有值的列表
# 仅修改键不修改值
dict1 = {'括号()': '7299'}
dict1['无括号'] = dict1.pop('括号()')

dict1.update({'account': '7299'})
k_list = list(dict1.keys())  # ['无括号', 'account']
v_list = list(dict1.values())  # ['7299', '7299']

k_list.append('key3')
# 列表转字典
dict2 = dict(zip(k_list, v_list))  # zip()取最少个数作为长度

list3 = ['key1']
dict3 = zip(k_list, v_list, list3)
print(list(dict3))  # 输出[('无括号', '7299', 'key1')]

🚁 字典遍历

dict1 = {'account': '7299'}

for key, value in dict1.items():
    print(key, ":", value)

📌 集合set

  • 与字典类似,但没有值,相当于字典的键集合。
  • 创建空集合只能使用s = set(),因为s={}创建的是空字典
  • 无序唯一,适用于重复内容去重
  • 交集&、并集|、差集-、补集^;补集:返回两个集合的非共同元素。