python疑问4:list,tuple,dict,set区分

发布时间:2019-08-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了python疑问4:list,tuple,dict,set区分脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1.List
定义一个列表,列表内容数据类型可以不同,元素可以更改,可以嵌套list

//定义
name = ['Tom','Jack','Marry']
//长度计算
len(name) // Out:3
//访问列表内元素
name[0]//Tom
name[1]//Jack
name[2]//Marry
//追加元素
name.apPEnd('Jim') //['Tom','Jack','Marry','Jim']
//插入元素
name.insert(1,'pengyu') //['Tom','pengyu','Jack','Marry','Jim']
//删除末尾元素
name.pop() //['Tom','pengyu','Jack','Marry']
//删除指定位置
name.pop(2) //['Tom','pengyu','Marry']
//替换元素
name[0] = 'haha' //['haha','pengyu','Marry']

2.tuple
定义一个元组,一旦初始化不能修改

//定义
phone = ('iphone','ipad','huawei')
//特殊,定义一个元素的tuple,记得加逗号,消除与括号运算符的歧义
phone = ('ipad',)
//tuple元素内含list
phone = ('iphone','ipad',['huawei','oppo'])
phone[2][0]='iwatch'
phone[2][1]='vivo'
PRint(phone) // ('iphone','ipad',['iwatch','vivo'])
//定义一个不变的tuple,必须保证其内部元素也是不变的

3.dict
定义一个字典,内含键值对。需要注意的是dict的key必须是不可变对象。
因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。

要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,可以作为key,而list是可变的,就不能作为key

//定义
salary = {'xiaoming':2000,'Jim':5000,'Wang':4600}
//访问
salary['Wang'] //4600
//修改
salary['Jim'] = 3200// {'xiaoming':2000,'Jim':3200,'Wang':4600}
//判断key是否在字典里
'Jack' in salary //False
//删除key
salary.pop('Wang') //{'xiaoming':2000,'Jim':3200}
//如果key可变?
list = ['a','b','c']
salary[list] = 'pengyu' //报错

4.set
set定义一个key的集合,跟dict相似,但不储存value,key不能重复,其元素内部必须为不可变对象

//定义
color = set(['red','yellow','blue']) // {'red','yellow','blue'}
color = set(['red','yellow','blue','red','yellow']) //{'red','yellow','blue'}
//添加元素
color.add('black') // {'red','yellow','blue','black'}
//删除元素
color.remove('red') // {'yellow','blue','black'}
//并集,交集
color1 = set(['red','blue','black'])
color2 = set(['yellow','black','red'])
color1 & color2 // {'red','black'}
color1 | color2 // {'red','yellow','blue','black'}

脚本宝典总结

以上是脚本宝典为你收集整理的python疑问4:list,tuple,dict,set区分全部内容,希望文章能够帮你解决python疑问4:list,tuple,dict,set区分所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。