目录
上篇文章思考题
1.以下两种写法结果是否一样?
需要保持稳定性的情况下是不一样的
>>> l = [(1,3),(1,4),(2,3)]
>>> l.sort(key=lambda num:num[0],reverse=True)
>>> l
[(2, 3), (1, 3), (1, 4)]
>>> l = [(1,3),(1,4),(2,3)]
>>> l.sort(key=lambda num:num[0])
>>> l
[(1, 3), (1, 4), (2, 3)]
>>> l.reverse()
>>> l
[(2, 3), (1, 4), (1, 3)]
2.下面代码的结果是多少?
>>> l = [1,2,6,6,6]
>>> sum(l,2)23
是sum(l)+2,不是sum(l[:2])
3.利用字符串的lower和isalpha方法
>>> l = ['lAdy','KILLER','laDy9','9','lady_killer']
>>> [x.lower() for x in l if x.isalpha()]
['lady', 'killer']
简介
元组,是序列类型,可迭代但不可修改。
创建与赋值
使用()创建,使用=赋值。
>>> t = (1,2.2,'lady_killer',[4,5],True)
>>> t
(1, 2.2, 'lady_killer', [4, 5], True)
有(),是不是看着很烦呀?你可以这样做:
>>> print(*t)
1 2.2 lady_killer [4, 5] True
print(t)和print(*t)为什么会不一样?这就要提到函数了,可以看:Python-函数基础总结与内置函数
正索引 | 0 | 1 | 2 | 3 | 4 |
内容 | 1 | 2.2 | 'lady_killer' | [4,5] | True |
负索引 | -5 | -4 | -3 | -2 | -1 |
操作符
访问(序列操作符切片)
>>> t[:3]
(1, 2.2, 'lady_killer')
与上一篇文章重复的不再赘述。
重复(操作符*)
>>> t*2
(1, 2.2, 'lady_killer', [4, 5], True, 1, 2.2, 'lady_killer', [4, 5], True)
拼接(操作符+)
>>> t+('nihao',)
(1, 2.2, 'lady_killer', [4, 5], True, 'nihao')
注意,与列表不同,一个元素时需要加,
判断元素是否存在(成员关系操作in,not in)
>>> 2.2 in t
True
>>> 1.1 not in t
True
比较(比较操作符>,<,<=,>=,==,!=)
>>> (1,2)>(1,3)
False
>>> (2,3)>(2,1)
True
>>> (2,3)<(2,1)
False
>>> (2,3)>=(2,1)
True>>> (2,3)==(2,1)
False
>>> (2,3)!=(2,1)
True
删除
del 元组名,一般不需要程序员去删除。
方法
统计个数
count(self, value, /)
Return number of occurrences of value.
>>> t.count(2.2)
1
>>> t.count(33)
0
返回索引
index(self, value, start=0, stop=9223372036854775807, /)
Return first index of value.
Raises ValueError if the value is not present.
>>> t.index('lady_killer')
2
>>> t.index('lady_kill')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: tuple.index(x): x not in tuple
配合成员操作符in,防止出现上述错误。
相关内置函数
长度
len()
>>> len(t)
3
最值
min()
max()
>>> min(t)
1
>>> max(t)
5
求和
sum()
>>> sum(t)
15
思考题
元组不可修改,那么下面的代码会产生什么结果呢?
t = ([1,2],4,6,'lady')
t[0].append(4)
更多python相关内容:【python总结】python学习框架梳理
本人b站账号:lady_killer9
有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。