适用于元组和列表通用的一些内置函数和访问方法:
a=(1,True,0,'Apple',[1,2,[1,3]])
# 通过索引访问
print(a[2])
# 输出 0
print(a[-1][2][1])
# 输出 3
print(a[-1])
# 输出 [1,2,[1,3]]
# 通过切片访问
print(a[0:2])
# 输出 (1, True)
print(a[:-1])
# 输出 (1, True, 0, 'Apple')
a=(1,2,3)
a+=(4,5,6)
print(a)
# 输出 (1,2,3,4,5,6)
# 注意这里的a是一个新的元组
b=a*3
print(b)
# 输出 (1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6)
a=(1,2,3)
# 判断一个元素是否存在于元组中
print(1 in a)
# 输出 True
# 获取元组的长度
print(len(a))
# 输出 3
# 获取元组中最大元素
print(max(a))
# 输出 3
# 获取元组中最小元素
print(min(a))
# 输出 1
# 获取元组中元素的下标
print(a.index(3))
# 输出 2
# 获取元组中元素的个数
print(a.count(2))
# 输出 1
# 计算元组中元素的和
print(sum(a))
元组和列表的区别:
列表定义的时候使用[ ],元组使用( )
列表可以改变的,但是元组不可变,也就是元组定义好以后我们不能修改里面的元素
能使用元组的尽量使用元组
删除元组只能用del
定义一个元素的元组
# 定义一个元素的列表
print(type([1]))
# 输出 list
# 定义一个元素的元组
print(type((1)))
# 输出 int
# 因为( ) 在python中是数学运算符号
# 正确的做法是在元素后面添加一个逗号
print(type((1,)))
# 输出tuple
元组的元素不可修改,但元组的元素的元素可修改(修改之后元组中元素的指向没有发生变化)
a=(1,2,[3,4,5])
a[0]=10
# 会报错
a[-1][-1]=10
print(a)
# 输出 (1,2,[3,4,10])
zip(*iterables) --> A zip object yielding tuples until an input is exhausted.输出是一个元组的列表
>>> list(zip('abcdefg', range(3), range(4)))
[('a', 0, 0), ('b', 1, 1), ('c', 2, 2)]
zip_longest 按最长的元组打包,使用前要导入itertools,缺省值为None,可自定义
import itertools as it
fruits = ['apple', 'banana', 'melon', 'strawberry']
prices = [10, 20, 30]
print(list(it.zip_longest(fruits, prices)))
# [('apple', 10), ('banana', 20), ('melon', 30), ('strawberry', None)]
fruits = ['apple', 'banana', 'melon', 'strawberry']
prices = [10, 20, 30]
print(list(it.zip_longest(fruits, prices, fillvalue='Sold out')))
# [('apple', 10), ('banana', 20), ('melon', 30), ('strawberry', 'Sold out')]
用zip(*zip_object)的方式将一个由zip()生成的zip object传递给zip(),注意前面要加一个星号,就可以实现将zip object又还原成各个iterables了。
zipTriple = zip(weekdays, weekdays_chinese, weekdays_japanese)
wk1, wk2, wk3 = zip(*zipTriple)
print(wk1)
print(wk2)
print(wk3)
# ('Monday', 'Wendsday', 'Tuesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
# ('星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日')
# ('月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日', '日曜日')
参考https://blog.csdn.net/chenxy_bwave/article/details/120307490