python第3课:List列表、Tuple元组
程序员文章站
2024-03-17 20:17:52
...
list列表
- 一组由有序数据组成的序列
- 数据有先后顺序
- 数据可以是一类数据
- list创建
- 中括号创建,内容直接用英文逗号隔开
- 使用list创建
- 列表包含单个字符串的时候是一个特例
# 列表的创建,直接创建,可以是不同类型数据
L1 =[1,2,3,4]
L2 = [1,2,"absd"]
print(L1)
print(L2)
[1, 2, 3, 4]
[1, 2, 'absd']
# 创建列表的第二种方式
L3 = list()
print(L3)
print(type(L3))
[]
<class 'list'>
# 特例演示
s = "Li Ming te"
L1 = list(s) # 自动拆分
L2 = [s] # 注意使用这种方法
print(L1)
print(L2)
['L', 'i', ' ', 'M', 'i', 'n', 'g', ' ', 't', 'e']
['Li Ming te']
列表的常见操作
- 访问
- 使用下标操作,也叫索引
- 列表元素索引是从0开始的
- 切片操作
- 对列表进行任意一段的截取
- 截取之后,创建一个新的列表
- 左闭右开区间
- 通过内置函数ID来判断两个变量是否是一个变量
L = ["a","b","c","d","e","f","g"]
print(L[2:4])
['c', 'd']
L1 =[1,2,3,4,5,6,7,8,9]
L2 = L1[:] # 指L1中所有
print(L2)
print(id(L1))
print(id(L2))
# 可以看见id值是不一样的
[1, 2, 3, 4, 5, 6, 7, 8, 9]
2374607412616
2374609148360
# 分片可以控制增长幅度,默认增长幅度为1
print(L1[::1])
print(L1[::2])
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9]
# 下标值增长幅度可以为负数
# 下表为负数,表示顺序是从右往左
# 规定数组最后一个下标为-1
print(L1[-5:-2]) # 左闭右开区间
# 默认从左往右
[5, 6, 7]
# 利用步长参数从右往左打印
print(L1[-2:-5:-1])
[8, 7, 6]
tuple元组
- 可以理解成一个不允许更改的列表
# tuple的创建
# 1.直接用小括号
ta = ()
print(type(ta))
# 当使用小括号创建一个元素的tuple时
tb = (100)
print(type(tb))
tc = (100,) #当元组中只有一个元素时,加一个逗号表示他是一个元组
print(type(tc))
<class 'tuple'>
<class 'int'>
<class 'tuple'>
# tuple的创建
# 2.直接用逗号
ta = 100,
print(type(ta))
tb = 1,2,3,4,5
print(tb)
<class 'tuple'>
(1, 2, 3, 4, 5)
# tuple的创建
# 3.使用tuple定义
ta = tuple()
print(type(ta))
# 列表转元组
li = [1,2,3,4]
tb = tuple(li)
print(tb,type(tb))
print(li)
<class 'tuple'>
(1, 2, 3, 4) <class 'tuple'>
[1, 2, 3, 4]
元组和列表的区别
- 元组可以访问不可以修改
- 元素可以是任意类型
# tuple索引
la = ["li","ming","te"]
print(la)
ta = tuple(la)
print(ta[2],type(ta[2])) # 元组中下标为2的元素类型是str
['li', 'ming', 'te']
te <class 'str'>
# tuple的分片操作
print(ta[:])
print(ta[:2])
print(ta[-1::-1]) # 表示从下标为-1的地方(最后)以步长为-1(逆序)输出
('li', 'ming', 'te')
('li', 'ming')
('te', 'ming', 'li')
# 元组的相加
ta = 1,2,3,4
tb = ('li', 'ming', 'te')
tc = ta + tb
print(tc)
(1, 2, 3, 4, 'li', 'ming', 'te')
# tuple的乘法
tc = tb*2
print(tc)
('li', 'ming', 'te', 'li', 'ming', 'te')
# tuple成员检测
print(tb)
if "123" not in tb:
print("对的")
if "li" in tb:
print("对的")
('li', 'ming', 'te')
对的
对的
# 元组的遍历
tb = ('li', 'ming', 'te')
for i in tb:
print(i)
print("—————分割线—————")
ta = (
(1,2,3),
(4,5,6),
(7,8,9)
)
print(ta)
for tups in ta:
print(tups,end="中包含: ")
for j in tups:
print(j,end=",")
print() # 换行
print("—————分割线—————")
# 使用单层循环遍历
# 元组中的元组长度必须相同才可以使用此方法
for a,b,c in ta:
print(f"内部元组中第1个元素为:{a}")
print(f"内部元组中第2个元素为:{b}")
print(f"内部元组中第3个元素为:{c}")
print(a,b,c)
li
ming
te
—————分割线—————
((1, 2, 3), (4, 5, 6), (7, 8, 9))
(1, 2, 3)中包含: 1,2,3,
(4, 5, 6)中包含: 4,5,6,
(7, 8, 9)中包含: 7,8,9,
—————分割线—————
内部元组中第1个元素为:1
内部元组中第2个元素为:2
内部元组中第3个元素为:3
1 2 3
内部元组中第1个元素为:4
内部元组中第2个元素为:5
内部元组中第3个元素为:6
4 5 6
内部元组中第1个元素为:7
内部元组中第2个元素为:8
内部元组中第3个元素为:9
7 8 9
# 常用元组函数
# len:长度
ta = (
(1,2,3),
(4,5,6),
(7,8,9)
)
tb = (4,5,6,7,8)
print("ta长{}".format(len(ta)))
# 返回数组中最大/最小值
print(max(tb))
print(min(tb))
ta长3
8
4
# count:对某一元素计数
tc = (1,1,2,3,4,5,6,1,1,1)
print(tc.count(1))
# index:返回元素的位置
print(tc.index(4)) # 从0开始
5
4
# python中交换两个元素的方法
a = 100
b = 200
a, b = b, a
print(f"a = {a}")
print(f"b = {b}")
a = 200
b = 100
推荐阅读
-
python第3课:List列表、Tuple元组
-
python 学习之 数据结构 列表(list)和元组(tuple)字典 (dict)和 集合(set) 以及各自性能
-
Python中的列表(list),元组(Tuple),字典(Dict)和集合(Set)
-
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
-
python学习笔记之列表(list)与元组(tuple)详解
-
python学习笔记之列表(list)与元组(tuple)详解
-
详谈Python中列表list,元祖tuple和numpy中的array区别
-
Python 序列、列表(List)、元组(Tuple)
-
Python列表list与元组tuple
-
Python基础:列表(list)和元组(tuple)