元组是不可更改的,但有一种变通方法。您可以将元组转换为列表,更改列表,然后将列表转换回元组。
示例:
x = ("apple", "banana", "cherry") y = list(x) y[1] = "kiwi" x = tuple(y) print(x)
由于元组是不可变的,没有内置的append()
方法,但可以使用其他方法添加项。
转换为列表,添加项,再转换回元组:
thistuple = ("apple", "banana", "cherry") y = list(thistuple) y.append("orange") thistuple = tuple(y)
将元组添加到元组中:
thistuple = ("apple", "banana", "cherry") y = ("orange",) thistuple += y
元组不支持直接删除项,但可以转换为列表,删除项,再转换回元组。
thistuple = ("apple", "banana", "cherry") y = list(thistuple) y.remove("apple") thistuple = tuple(y)
或者可以完全删除元组:
thistuple = ("apple", "banana", "cherry") del thistuple
可以将元组的值提取回变量,称为解包。
示例:
fruits = ("apple", "banana", "cherry") (green, yellow, red) = fruits print(green) print(yellow) print(red)
如果变量的数量少于值的数量,可以在变量名后添加星号*
,将剩余的值收集到一个列表中。
示例:
fruits = ("apple", "banana", "cherry", "strawberry", "raspberry") (green, yellow, *red) = fruits print(green) print(yellow) print(red)
可以使用*
运算符将元组的内容复制多次。
示例:
fruits = ("apple", "banana", "cherry") mytuple = fruits * 2 print(mytuple)
可以使用for
循环或通过索引编号来遍历元组项。
示例:
thistuple = ("apple", "banana", "cherry") for x in thistuple: print(x)
通过索引编号遍历:
thistuple = ("apple", "banana", "cherry") for i in range(len(thistuple)): print(thistuple[i])
使用while
循环遍历:
thistuple = ("apple", "banana", "cherry") i = 0 while i < len(thistuple): print(thistuple[i]) i = i + 1
可以使用+
运算符合并两个元组。
示例:
tuple1 = ("a", "b", "c") tuple2 = (1, 2, 3) tuple3 = tuple1 + tuple2 print(tuple3)
可以使用*
运算符将元组的内容复制多次。
示例:
fruits = ("apple", "banana", "cherry") mytuple = fruits * 2 print(mytuple)
Python 提供了两个内置方法,可以在元组上使用:
count()
: 返回指定值在元组中出现的次数。index()
: 搜索元组中指定的值,并返回其找到的位置。