字典
字典的键: 字典键的变化顺序 3.5之前字典是无序的 3.6开始字典是看起来有序 3.7开始正式变成有序的
·增
# dic['li'] = ["a","b","c"]# print(dic)# setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。# dic.setdefault('k','v')# print(dic) # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}# dic.setdefault('k','v1') # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}# print(dic)
·删
# dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值# print(dic_pop)# del dic["name"] # 没有返回值。# print(dic)# dic_pop1 = dic.popitem() # 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回# print(dic_pop1) # ('name','jin')# dic_clear = dic.clear() # 清空字典# print(dic,dic_clear) # {} Nonedel dicdel dic['name'] #删除的是键值对 del不可以切片删除
·改
View Code
# 改#dic['name'] = '重新赋值'# dic = {"name":"jin","age":18,"sex":"male"}# dic2 = {"name":"alex","weight":75}# dic2.update(dic) # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中# print(dic2)
·查
# value1 = dic["name"] # 没有会报错# print(value1)## value2 = dic.get("djffdsafg","默认返回值") # 没有可以返回设定的返回值# print(value2)
字典方法:
# item = dic.items()# print(item,type(item)) # dict_items([('name', 'jin'), ('sex', 'male'), ('age', 18)])# 这个类型就是dict_items类型,可迭代的# keys = dic.keys()# print(keys,type(keys)) # dict_keys(['sex', 'age', 'name']) # values = dic.values()# print(values,type(values)) # dict_values(['male', 18, 'jin']) 同上
字典的循环:
# dic = {"name":"jin","age":18,"sex":"male"}# for key in dic:# print(key)# for item in dic.items():# print(item)# for key,value in dic.items():# print(key,value)
字典的扩展
1.for循环:用户按照顺序循环可迭代对象的内容。msg = '老男孩python是全国范围内最好的python培训机构'for item in msg: print(item)li = ['alex','银角','女神','egon','太白']for i in li: print(i)dic = { 'name':'太白','age':18,'sex':'man'}for k,v in dic.items(): print(k,v)2.enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。li = ['alex','银角','女神','egon','太白']for i in enumerate(li): print(i)for index,name in enumerate(li,1): print(index,name)for index, name in enumerate(li, 100): # 起始位置默认是0,可更改 print(index, name) 3.range:指定范围,生成指定数字。for i in range(1,10): print(i)for i in range(1,10,2): # 步长 print(i)for i in range(10,1,-2): # 反向步长 print(i)
集合
创建: 变量 = {1,2,3,……}注意:集合里面只可以放不可变数据(可哈希的)集合本身是可变的,所以不可以做字典的键。当然也可以将其转化成“frozenset”不可变类型增: add #添加一个 update() #迭代着添加删: pop() #随机删除 remove() #删除指定元素 del set #删除集合改: 无查: for i in set1: