时间:2021-07-01 10:21:17 帮助过:52人阅读
学习python的小伙伴们经常会有这样一个疑问,既然有列表里,问什么还要有元组呢。因为列表是可变的,而元组是不可变的。比如我们经常需要传入函数的数据是不变的,这时就要用到元组了。
def info(a): a[0] = 'haha' return a a = [1,2,3] info(a) 运行结果:['haha', 2, 3] b = (1,2,3) info(b) 运行结果:TypeError: 'tuple' object does not support item assignment
想要改变元组里的元素,可以先将元组转换成列表,元素变换之后再转换成元组,实际上是重新创建了对象。
a = (1,2,3) b = list(a) b[0] = 5 a = tuple(b) print(a) 运行结果:(5, 2, 3)
集合是没有序列的,而且里面的元素是唯一的,重复的元素会被自动剔除掉。
创建集合:
用花括号{}
set()
#创建集合 a = set(['a',2,3]) print(a) 运行结果:{2, 3, 'a'} b = set('abc') print(b) 运行结果:{'a', 'b', 'c'}
集合元素的添加与去除:
a = set(['a',2,3]) #add添加 a.add('tong')#将整个元素添加进来 print(a) 运行结果:{'tong', 2, 3, 'a'} #update添加 a.update('tong')#将字符串拆开添加进来 print(a) 运行结果:{'tong', 2, 3, 'n', 'a', 't', 'o', 'g'} #集合元素的去除 a.remove('tong') print(a) 运行结果:{2, 3, 'n', 'a', 't', 'o', 'g'}
集合的成员关系:
a = set('abc') 'b' in a 运行结果:True
集合的交集、并集与差集:
a = set('abc') b = set('bcd') print(a&b)#交集 print(a|b)#并集 print(a-b)#差集 运行结果: {'c', 'b'} {'d', 'a', 'b', 'c'} {'a'}
结合集合删除列表里面的元素:
a = [1,2,3,1,3] b = set(a) print(b) c = list(b) print(c) 运行结果: {1, 2, 3} [1, 2, 3]
冻结集合:
#冻结集合 a = frozenset('abc')#集合则不可修改 a.add('d') 运行结果:AttributeError: 'frozenset' object has no attribute 'add'
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关视频教程请访问:Python视频教程,Python3视频教程,bootstrap视频教程!
以上就是python中什么是元组和集合 ?元组和集合的介绍的详细内容,更多请关注Gxl网其它相关文章!