集合
集合与字典类似,都是一组key的集合,不同的是集合不存储value,由于key值唯一,所以集合中不存在重复值。
集合的创建
a = set() #如若不加set则创建一个空的字典
a.add('1')
a.add('2')
print(a,type(a))
# {'1', '2'} <class 'set'>
b = {1,2,3,4,5,1,2} #set会过滤重复值
print(b,type(b))
# {1, 2, 3, 4, 5} <class 'set'>
#在元组列表前加set可将其转换成set
c = set([1,2,333,43,2,1])
print(c,type(c))
# {1, 2, 43, 333} <class 'set'>
d = set((1,2,333,43,2,1))
print(d,type(d))
# {1, 2, 43, 333} <class 'set'>
访问集合中的值
a = set(['a', 'b','c'])
print(len(a)) # 3,可以使用len来查询集合的大小
print('d' in a) # False, 可以使用in/not in 来判断该元素是否在元组中
a.add('d')
print(a) # {'d', 'a', 'c', 'b'},可以使用add给集合添加元素
a.update(['e','f'])
print(a) # {'a', 'f', 'c', 'b', 'd', 'e'},可以使用update来添加元素或列表到集合中
a.remove('f')
print(a) # {'a', 'c', 'b', 'd', 'e'},可以使用remove删除指定元素
a.pop()
print(a) # {'c', 'b', 'd', 'e'} ,可以使用pop随机删除集合中的一个元素
b = frozenset(range(1,10))
print(b) # frozenset({1, 2, 3, 4, 5, 6, 7, 8, 9}),frozenset创建一个不可修改的集合,如若修改,则会报错。
b.add(10)
print(b)
'''
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-115-11766ff496f2> in <module>
12 b = frozenset(range(1,10))
13 print(b)
---> 14 b.add(10)
15 print(b)
AttributeError: 'frozenset' object has no attribute 'add'
'''
序列
在 Python 中,序列类型包括字符串、列表、元组、集合和字典,这些序列支持一些通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作
a = "Hello world"
b = 12345
c = [1,2,3,4,5,6,4,3]
print(list(a)) # ['H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'],可以使用list()将可迭代对象转化成列表
print(tuple(a)) # ('H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'),可以使用tuple()将可迭代对象转化成元组
x = str(b)
print(x,type(x)) # 12345 <class 'str'>,可以使用str将数值类型转换成字符串类型
print(len(a)) # 11,可以使用len来计算字符串,元组,列表等的长度
print(max(c)) # 6,可以使用max()来返回列表,元组等的最大值(min()返回最小值)
print(sum(c)) # 28,可以使用sum()来返回列表,元组等的和(
print(sorted(c)) # [1, 2, 3, 3, 4, 4, 5, 6],可以使用sorted(iterable, key=None, reverse=False)对可迭代对象进行排序
print(list(reversed(c))) # [3, 4, 6, 5, 4, 3, 2, 1] ,reversed()是将列表,元组等反转
print(list(enumerate(c))) # [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 4), (7, 3)],enumerate()将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中