python学习第6天

集合

集合与字典类似,都是一组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 循环当中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值