字典的创建
1.直接创建
dict1 = {1:'one',2:'two',3:'three'}
print(dict1[1])
print(dict1)
2.创建空字典
dict1 = {}
print(dict1)
3.用工厂函数创建
- 元组形式创建(可替换为列表形式)
dict1 = dict(((1,'one'),(2,'two'),(3,'three')))
print(dict1[1])
print(dict1)
- key = value进行创建
dict1 = dict(nike ='one',mike ='two') #用函数创建时key值不能为数值
print(dict1)
字典的修改
1.对应key存在时的修改
dict1 = dict(nike ='one',mike ='two')
dict1['nike'] = 'just do it'
print(dict1['nike'])
2.key不存在时,在字典中会添加相应的key
dict1 = dict(nike ='one',mike ='two')
dict1['like'] = 'i love you'
print(dict1)
dict内置函数用法
1.fromkeys()创建新的字典,并且给不同的key附上相同的值
dict1 = dict.fromkeys((1,2,3),'kick')
print(dict1)
2.访问字典的方法:keys()、values()、items()
#将字典中的key都打印出来
dict1 = dict.fromkeys(range(10),'kick')
for eachkey in dict1.keys():
print(eachkey)
#打印所有value
dict1 = dict.fromkeys(range(10),'kick')
for eachvalue in dict1.values():
print(eachvalue)
#将key和value对应打包
dict1 = dict.fromkeys(range(10),'kick')
for eachitem in dict1.items():
print(eachitem)
3.get(key,value) 当key存在时会访问对应的value值,若key不存在,则会访问get中的value
dict1 = dict.fromkeys(range(10),'kick')
print(dict1.get(11,'nihao'))
print(dict1)
4.清空字典 clear()
dict1 = dict.fromkeys(range(10),'kick')
dict1.clear()
print(dict1)
5.copy()拷贝
dict1 = dict.fromkeys(range(10),'kick')
dict2 = dict1.copy() #拷贝对象
dict3 = dict1 #复制对象
print(id(dict1),id(dict2),id(dict3)) #拷贝对象和复制对象的ID地址不同,拷贝对象指向另一个地址
6.pop()
dict1 = dict.fromkeys(range(10),'kick')
dict2 = dict1.pop(2) #拿走key以及其对应的value
print(dict2)
print(dict1)
7.popitem() 随机弹出一项(key,value)
dict1 = dict.fromkeys(range(10),'kick')
dict2 = dict1.popitem()
print(dict2)
print(dict1)
8.setdefault() 和get()相似,不同处在于setdefault()在key不存在时,会将key及value填入字典中
dict1 = dict.fromkeys(range(10),'kick')
dict2 = dict1.setdefault(11,'苍老师')
print(dict1[11])
print(dict1)
9.update()更新字典
dict1 = dict.fromkeys(range(10),'kick')
dict2 = {11:"苍老师"}
dict1.update(dict2)
print(dict1)
集合,无序,下标不可用
创建集合
s1 = {1,2,3,4}
s2 = set() # 创建空集合
集合的操作
s1 = set()
#增加
s1.add(100)
s1.update([10,20,30])
print(s1)
#删除
s1.remove(100) #删除指定数据,数据不存在会报错
s1.discard(100) #删除指定数据,数据不存在不报错
s1.pop() #随机删除某个数据
#查找数据
print(10 in s1) #存在则返回True
print(10 not in s1) #存在则返回False
网友评论