元组中的元素可以是数值、字符串、列表、元组、字典等。
1、使用赋值运算符创建元组
new_tuple = () #创建空元组
tupl = (1, [1,2], (3,6), {1:2}) #创建非空元组
2、使用tuple()函数创建
格式:tuple(data)
data的类型可以是range对象、字符串。元组或其他可迭代类型的数据。
tupl = tuple(range(1, 11))
print(tupl)
输出:
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
1、使用索引获取元素
month = ('一月', '二月', '三月', '四月')
print(month[2]) #获取索引值为2的元素
输出:
三月
2、使用for循环遍历列表
month = ('一月', '二月', '三月', '四月')
for m in month:
print(m)
输出:
一月
二月
三月
四月
3、使用for循环和enumerate()函数遍历元组
month = ('一月', '二月', '三月', '四月')
for index, m in enumerate(month):
print(index, m)
可以使用“+”将两个列表拼接在一起
month1 = ('一月', '二月')
month2 = ('三月', '四月')
month3 = month1 + month2
print(month3)
输出:
('一月', '二月', '三月', '四月')
列表不支持单个元素的删除,但是可以使用del语句将整个元组删除
month = ('一月', '二月')
del month #删除元组month
1)、使用count()统计某个元素出现的次数
month = ('一月', '二月')
num = month.count('一月') #统计元素‘一月’在元组中出现的次数
print(num)
输出:
1
2)、使用index()获取元素位置。若元素存在于元组中,则返回该元素的索引;否则,抛出异常
month = ('一月', '二月')
num = month.index('一月')
print(num)
输出:
一月的索引为: 0
元组只支持修改可变类型的元素,如列表,数值和字符串等类型的元素不支持修改。
tupl = (1, '二月', [2, 3])
tupl[0] = 8 #错误,不能修改数值类型的元素
tupl = (1, '二月', [2, 3])
tupl[2][0] = 8
print(tupl[2][0])
输出:
8
元组的推导式和列表的推导式格式一样。
1、直接生成元组元素
tupl = (x+1 for x in range(10))
print(tupl)
输出:
<generator object <genexpr> at 0x00000152F86F6E30>
元组推导式生成的是一个生成器对象,要使用该对象需要将其转换成元组或者列表。
tupl = (x+1 for x in range(10))
Tuple = tuple(tupl)
print(Tuple)
输出:
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
2、按照某种条件生成元组元素
tupl = (x for x in range(10) if x > 5)
Tuple = tuple(tupl)
print(Tuple)
输出:
(6, 7, 8, 9)