# 字典的value可以是任何值 info = { 'k1': 'v1', # 键值对 'k2': 123, 'k3':True, 'k4':[ 1, '2', False, [11, 22,33] ], 'k5':(1, '2',), 'k6':{ 'kk1':'vv1', 'kk2':'vv2', 'kk3':[ 1, 2, '3' ] } } # 字典的key值,以哈希值进行存放,不能作为key值的有列表和字典;kye值有重复的,只显示一个键值对; info1 = { 2:'2', 'k':'v', True:'3', #[1, 2, 3]:'111', (4, 5, 6):[1, 2, 3], #{'k1':'v1'}:{'k2':'v2'} } print(info1) # 字典是无序的,python对其进行了优化,所以目前的输出结果来看是有序 info2 = { 'k1':'v1', 'k3':'v3', 'k2':'v2' } print(info2) # 取指定的value值,当key值不存在时报错;del删除指定的键值对 info3 = { 2:'2', 'k':'v', True:'3', (4, 5, 6):[1, 2, 3], } print(info3[(4, 5, 6)]) del info3[True] print(info3) # for循环,可循环key值和value值及键值对,for循环默认是对key值的循环; info4 = { 'k1': 'v1', 'k2': 123, 'k3':True, 'k4':[ 1, '2', False, [11, 22,33] ], 'k5':(1, '2',), 'k6':{ 'kk1':'vv1', 'kk2':'vv2', 'kk3':[ 1, 2, '3' ] } } for key in info4.keys(): print(key) for value in info4.values(): print(value) for a, b in info4.items(): print(a, b) # clear()清空 d1 = { 'k1':'v1', 'k2':12 } d1.clear() print(d1) # copy()复制 d2 = { 'k1':'v1', 'k2':12 } d3 = d2.copy() print(d3) # fromkeys()根据序列,创建字典,并指定统一的值 d4 = dict.fromkeys(['k1', 2, '3'], [123, 234]) print(d4) # get()获取value值,当key值不存在时默认返回None,带入第二个参数,key值不存在那么返回第二个参数,存在则返回key值对应value值; d5 = { 'k1':'v1', 'k2':12 } print(d5.get('k11', '不存在')) # pop()删除指定key值键值对并返回删除的value值;key不存在报错,如果带上第二个参数,那么返回值为第二个参数且不报错; d6 = { 'k1':'v1', 'k2':12 } v = d6.pop('k11', '不存在') print(d6, v) # popitem()随机删除字典的键值对并返回key和value; d7 = { 'k1':'v1', 'k2':12 } k, v1 = d7.popitem() print(d7, k, v1) # setdefault()设置值且返回value值,如果设置的key值重复,那么设置无效且返回之前key对应的value值; d8 = { 'k1':'v1', 'k2':12 } xx = d8.setdefault('k3', True) print(d8, xx) # update()更新 d9 = { 'k1':'v1', 'k2':12 } d9.update({'k3':13}) d10 = { 'k2':13, 'k3':14, } d9.update(d10) print(d9) # print(),sep默认是空格,也就是print有多个值时以逗号分开,那么打印以空格分割;end默认是 换行 # enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中 seasons = ['Spring', 'Summer', 'Fall', 'Winter'] print(list(enumerate(seasons, start=1))) for i, element in enumerate(seasons): print(i, element)
字典的介绍
while True:
print('studying...')