Python学习——字典和集合

本部分学习于:零基础入门学Python

字典

一. 创建和访问

映射类型,键Key和值Value之间存在对应关系。

创建:
1. 使用大括号,对应元素之间使用冒号,见dict1和dict2
2. 通过构造元组的形式输入其映射关系,见dict3
3. 通过键和值的设置,注意不能有 数字=‘ ’ 或 ‘ ’=‘ ’ 的情况,否则视为等式不成立,见dict4

访问:
1. 直接通过键访问值
2. 可以单独改变某个键对应的值
3.可以创建新的键和值,会自动加入到字典中

dict1 = {'aoi':'蓝色','shiroi':'白色','akai':'红色'}
print(dict1['aoi'])  #蓝色

dict2 = {1:'one',2:'two',3:'three'}
print(dict2[3]) #three

dict3 = dict(((1,'one'),(2,'two'),(3,'three')))
print(dict3) #{1:'one',2:'two',3:'three'}
print(dict3[2]) #two

dict4 = dict(yi ='one',er ='two',san ='three') 
print(dict4) #{‘yi’:'one','er':'two','san'='three'}
print(dict4['yi']) #one

dict4['yi'] = 'ichi'
dict4['wu'] = 'five'
print(dict4) 
#{'yi':'ichi','wu'='five','san'='three','er'='two'}

二. 内嵌函数

1.fromkeys()

dict.fromkeys[s[,v]]

返回由s构成键,由v构成值的新字典
第二个参数会自动赋给前面所有的健
每次改变都是创建一个新的字典

2.访问字典

keys():访问键
values():访问值
items():访问一个项

3.get()
如果字典中不存在某个键值,正常调用会出现问题。
使用get()调用不会报错,其值会返回None。

4.setdefault()
和get类似

5.in
查找字典中是否存在某键,存在返回True,不存在返回False。

dict1 = {'one':'yi','two':'er'}
print('three' in dict1) #False

6.clear():清空字典

7.copy():浅拷贝

dict1 = {'one':'yi','two':'er'}
dict2 = dict1.copy()
print(dict2) #{'two':'er','one':'yi',}
dict3 = dict1
print(dict3) #{'two':'er','one':'yi',}
dict3['three'] = 'san'
print(dict3) #{'three':'san','two':'er','one':'yi',}
print(dict1) #{'three':'san','two':'er','one':'yi',}

8.pop():给出键,弹出对应的项
popitem():随机弹出某项

dict1 = {'one':'yi','two':'er','three':'san'}
dict1.pop('one')
print(dict1) #{'three':'san','two':'er'}

9.update():使用一个字典去更新另一个的内容

dict1 = {'one':'yi','two':'er','three':'san'}
dict2 = {'three':'None','four':'si'}
dict1.update(dict2)
print(dict1) #{'four':'si','three':'None','two':'er','one':'yi'}

集合

  1. 使用大括号定义
  2. 具有元素唯一性,对于相同元素会自动剔除
  3. 不支持索引。
set1 = {1,2,3,4,4,5,8}
set2 = {'one','one','two','three'}
print(set1) #set([1, 2, 3, 4, 5, 8])
print(set2) #set(['one', 'three', 'two'])
set3 = set([1,2,2,3,3,5,6])
print(set3) #set([1, 2, 3, 5, 6])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值