集合
集合介绍
set 定义空集合:a=set()
{1,2,3,4}
集合中元素必须为不可变对象。 可hash对象集合元素是不重复的,唯一的。
集合常用方法
add
a = {1, 2, 36, 5564, 14} a.add(40) print(a) # {1, 2, 36, 40, 14, 5564}
update
把原来集合中没有的元素重其他集合导入、更新
a = {1,2,3} a.update({4,5,6}) print(a) #{1, 2, 3, 4, 5, 6}
remove
删除集合中元素,如果元素不存在则报错
a = {1,2,3,4, 5, 6} a.remove(6) print(a) #{1, 2, 3, 4, 5} a = {1,2,3,4, 5, 6} a.remove(0) print(a) #Traceback (most recent call last): # File "F:/study/python/code/demo/demo_list.py", line 10, in <module> # a.remove(0) # KeyError: 0
discard
a = {1,2,3,4, 5, 6} a.discard(6) print(a) #{1, 2, 3, 4, 5} a.discard(0) print(a) # {1, 2, 3, 4, 5}
set
set的简易用法:删除重复的元素
lst = [1,1,2,3,2,23,45,6,6] new_lst = list(set(lst)) print(new_lst) # [1, 2, 3, 6, 45, 23]
集合求交集
a = {1,2,3,4} b = {4,5,6,7} print(a & b) # {4} print(a.intersection(b)) # {4}
集合求并集
a = {1,2,3,4} b = {4,5,6,7} print(a | b) # {1, 2, 3, 4, 5, 6, 7} print(a.union(b)) # {1, 2, 3, 4, 5, 6, 7}
集合求差集
a = {1,2,3,4,5,6,7} b = {4,5,6,7} print(a - b) # {1, 2, 3} print(a.difference(b)) # {1, 2, 3}
元组
元祖 只读列表,可循环查询,可切片。
>>> tu = (1,2,3,[1,2,3]) >>> tu[0] = 100 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment >>> tu[-1][0] = 100 >>> tu (1, 2, 3, [100, 2, 3])
>>> t = () >>t () >>> print(type(t)) <class 'tuple'> >>> t = tuple() >>> t () >>> print(type(t)) <class 'tuple'> >>> t = (1) 此时t是数字类型 >>> print(type(t)) <class 'int'> >>> t = (1,) >>> print(type(t)) <class 'tuple'>
查看元素为1的index
>>a = (1,'zc') >>a.index(1) 0
count
查看元素出现的次数
>>a = (1,'zc') >>a.count(1) 1
元组和列表之间的相互转换,使用tuple和list方法:
>>a = [1,2,3] >>b = tuple(a) >>b (1, 2, 3) >>c = list(b) >>c [1, 2, 3]