Pythontuple

pythontuple #

创建元组 #

# 方法1:使用圆括号
tuple1 = (1, 2, 3, 4, 5)
tuple2 = ('a', 'b', 'c')

# 方法2:使用tuple()构造函数
tuple3 = tuple([1, 2, 3])  # (1, 2, 3)
tuple4 = tuple('hello')    # ('h', 'e', 'l', 'l', 'o')

# 单元素元组(注意逗号)
single_tuple = (1,)        # 正确
not_tuple = (1)            # 错误,这是整数1

访问元素 #

my_tuple = (10, 20, 30, 40, 50)
print(my_tuple[0])     # 10
print(my_tuple[-1])    # 50
print(my_tuple[1:3])   # (20, 30)

元组拆包 #

# 基本拆包
a, b, c = (1, 2, 3)
print(a, b, c)  # 1 2 3

# 使用*收集剩余元素
first, *middle, last = (1, 2, 3, 4, 5)
print(first)    # 1
print(middle)   # [2, 3, 4]
print(last)     # 5

计数 count() #

my_tuple = (1, 2, 2, 3, 2, 4)
print(my_tuple.count(2))  # 3

查找索引 index() #

my_tuple = ('a', 'b', 'c', 'b')
print(my_tuple.index('b'))    # 1
print(my_tuple.index('b', 2)) # 3(从索引2开始查找)

数据完整性 #

# 坐标点(不希望被修改)
point = (100, 200)
# point[0] = 150  # 报错:元组不可修改

字典键 #

# 元组可作为字典键(列表不行)
coordinates_dict = {(1, 2): 'A点', (3, 4): 'B点'}

函数多返回值 #

def get_user_info():
    return '张三', 25, '北京'

name, age, city = get_user_info()

交换变量值 #

a, b = 10, 20
a, b = b, a  # 交换a和b的值
print(a, b)  # 20 10

命名元组 #

from collections import namedtuple

# 创建命名元组类型
Point = namedtuple('Point', ['x', 'y'])
p = Point(10, 20)
print(p.x, p.y)  # 10 20

可变对象可修改 #

my_tuple = (1, 2, [3, 4])
my_tuple[2].append(5)  # 允许:修改的是列表内容
print(my_tuple)        # (1, 2, [3, 4, 5])