零基础入门python3.7 ——基础知识总结(五)元组(tuple)

Oria ·
更新时间:2024-09-20
· 890 次阅读

一 元组

元组也是python的一种数据结构。和列表类似也是由一系列特定序列的元素组成

二  元组与列表的区别 列表是可变的。 包括添加元素删除元素等。元组一旦被创建就是不可变的   列表可以出现相同的元素。 元组不会存在相同的元素。  即使有相同的元素只会保留一个其他会被忽略。 三  元组的创建 使用()创建元组 tuple1 = (1, 2, 34, 'java', 'python', 'java') print(tuple1) tuple2 = ("python", True, ) print(tuple2) (1, 2, 34, 'java', 'python', 'java') ('python', True)

小括号不是必要的。 前提是元素之间必须要有逗号分隔

tuple1 = 1, 2, 34, 'java', 'python', 'java' print(tuple1) tuple2 = "python", True print(tuple2) (1, 2, 34, 'java', 'python', 'java') ('python', True)

在创建只包含一个元素的元组时。其元素后面必须加上逗号否则python会将其解析为字符串或者其他数据类型

tuple1 = (1,) print(tuple1) print('---------') tuple2 = "python", print(tuple2) print('---------') tuple3 = 'python' print(tuple3) print('---------') tuple4 = (1) print(tuple4) print(type(tuple4)) (1,) --------- ('python',) --------- python --------- 1

tuple()函数创建

# 将字符串转换成元组 a = tuple("hello") print(a) print('-------') # 将列表转换成元组 b = tuple([1, 1, 2, 2, "java", 'python']) print(b) print("-------") # 将字典转换成元组 c = tuple({a: 100, b: "java", 1: "python"}) print(c) print("--------") # 将区间转换成元组 d = tuple(range(0, 10)) print(d) print("--------") # 创建空元组 e = tuple() print(e) ('h', 'e', 'l', 'l', 'o') ------- (1, 1, 2, 2, 'java', 'python') ------- (('h', 'e', 'l', 'l', 'o'), (1, 1, 2, 2, 'java', 'python'), 1) -------- (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) -------- () 三。元组的访问

和列表一样访问元组也可以通过索引和切片两种方式访问

# 将区间转换成元组 d = tuple(range(0, 10)) print(d) print("--------") print(d[3]) print(d[0]) print(d[::]) print(d[3:]) print(d[3:8:2]) print(d[:8:2]) print(d[:-8:2]) print(d[-3:]) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) -------- 3 0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (3, 4, 5, 6, 7, 8, 9) (3, 5, 7) (0, 2, 4, 6) (0,) (7, 8, 9) 四。元组的修改 tuple1 = (1, 2, 34, 'java', 'python', 'java', [1, 2]) print(tuple1) print("---------") tuple1[6][0] = 'java' print(tuple1) (1, 2, 34, 'java', 'python', 'java', [1, 2]) --------- (1, 2, 34, 'java', 'python', 'java', ['java', 2])

这个有人会问不是说元组是无法修改的嘛。实际上表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。

五。元组的删除 tuple1 = (1, 2, 34, 'java', 'python', 'java', [1, 2]) print(tuple1) print("---------") del tuple1 print(tuple1) (1, 2, 34, 'java', 'python', 'java', [1, 2]) --------- Traceback (most recent call last): File "/Users/apple/Desktop/python3/python20.py", line 6, in print(tuple1) NameError: name 'tuple1' is not defined
作者:雯雯小可爱



零基础 元组 Python3 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号