python_入门_第十天

字典

创建字典
dict1 = {1:'one',2:'two',3:'three'}
print(dict1[3])
>>> three

dict2 = dict(((1,'one'),(2,'two'),(3,'three')))
print(dict2[2])
>>> two

dict3 = dict(一='one',二='two',三='three')
print(dict3['一'])
>>> one

dict4 = {}
dict4[1] = 'one' #没有创建
print(dict4[1])
dict4[1] = '一' #有修改
print(dict4[1])

字典内建函数

# fromkeys 创建新的字典
dict1={1:2,4:5}
dict2 = dict1.fromkeys((1,2,3),('num')) #重新创建和原来的无关
dict3 = dict1.fromkeys((1,2,3)) #参数二为空时,字典的项为None
print(dict1)
print(dict2)
print(dict3)
>>> {1: 2, 4: 5}
>>> {1: 'num', 2: 'num', 3: 'num'}
>>> {1: None, 2: None, 3: None}
# keys 输出键值
dict1 = dict.fromkeys(range(3),'赞')
print(dict1)
for eachKey in dict1.keys():
    print(eachKey)
{0: '赞', 1: '赞', 2: '赞'}
0
1
2
# values 输出项值
dict1 = dict.fromkeys(range(3),'赞')
print(dict1)
for eachValue in dict1.values():
    print(eachValue)
{0: '赞', 1: '赞', 2: '赞'}
赞
赞
赞
# items 键值、项值都输出
dict1 = dict.fromkeys(range(3),'赞')
print(dict1)
for eachItem in dict1.items():
    print(eachItem)
{0: '赞', 1: '赞', 2: '赞'}
(0, '赞')
(1, '赞')
(2, '赞')
# get 超出下标不报错
dict1 = dict.fromkeys(range(3),'赞')
print(dict1)
# dict1(5) 报错语句
# TypeError: 'dict' object is not callable
a = dict1.get(5) #get函数不报错返回空
print(a)
a = dict1.get(5,'超出范围') #可以自己设置为空信息
print(a)
>>> {0: '赞', 1: '赞', 2: '赞'}
>>> None
>>> 超出范围
#判断这个键是否存在
dict1 = {'阿迪':'衣服','保时捷':'汽车','华硕':'电脑'}
print('阿迪' in dict1)
print('特步' in dict1)
>>> True
>>> False
# 清空字典
dict1 = {'阿迪':'衣服','保时捷':'汽车','华硕':'电脑'}
dict2 = dict1
dict1 = {} #隐患清空法,数据还存在
print(dict1)
print(dict2)
>>> {}
>>> {'阿迪': '衣服', '保时捷': '汽车', '华硕': '电脑'}
————————————————————————————————————————
dict1 = {'阿迪':'衣服','保时捷':'汽车','华硕':'电脑'}
dict2 = dict1
dict1.clear() #推荐清空法,清空全部数据
print(dict1)
print(dict2)
>>> {}
>>> {}
# copy 复制
a = {'阿迪':'衣服','保时捷':'汽车','华硕':'电脑'}
b = a.copy()
c = a
print(id(a),id(b),'\n',id(c))
>>> 2216773843848 2216773843920
>>> 2216773843848
# a c id一样地址一样 b不一样 a变c变b不变
# pop更具键 删除
a = {'阿迪':'衣服','保时捷':'汽车','华硕':'电脑'}
a.pop('阿迪')
print(a)
>>> {'保时捷': '汽车', '华硕': '电脑'}
# 随机删除一项
a = {'阿迪':'衣服','保时捷':'汽车','华硕':'电脑'}
a.popitem()
print(a)
>>> {'阿迪': '衣服', '保时捷': '汽车'}
# setdefault 添加项
a = {'阿迪':'衣服','保时捷':'汽车','华硕':'电脑'}
a.setdefault('小米')
a.setdefault('华为','手机')
print(a)
>>> {'阿迪': '衣服', '保时捷': '汽车', '华硕': '电脑', '小米': None, '华为': '手机'}
# update 通过字典更新字典
a = {'阿迪':'衣服','保时捷':'汽车','华硕':'电脑'}
a.setdefault('小米')
print(a)
b = {'小米':'手机','361':'鞋子'}
a.update(b)
print(a)
>>> {'阿迪': '衣服', '保时捷': '汽车', '华硕': '电脑', '小米': None}
>>> {'阿迪': '衣服', '保时捷': '汽车', '华硕': '电脑', '小米': '手机', '361': '鞋子'}

集合

a = {1,2,3,4,5,6} #集合创建方法一
print(type(a))
>>> <class 'set'>
a = set([1,2,3,4,5,6]) #集合创建方法二
print(type(a))
>>> <class 'set'>
a = set([1,2,3,4,5,6,2,4,6]) #集合项的唯一性
print(a)
>>> {1, 2, 3, 4, 5, 6}
a = [1,2,3,4,5,6,3,4,5,6]
a = list(set(a)) #集合可以用来去重
print(a)
>>> [1, 2, 3, 4, 5, 6]
a = {1,2,3,4,5} #add添加
a.add(6)
print(a)
>>> {1, 2, 3, 4, 5, 6}
a = {1,2,3,4,5} #remove删除
a.remove(2)
print(a)
>>> {1, 3, 4, 5}
a = frozenset([1,2,3,4,5]) #frozenset创建不可变集合
a.add(7)
>>> AttributeError: 'frozenset' object has no attribute 'add'

猜你喜欢

转载自blog.csdn.net/m0_37416991/article/details/81189053