欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

上一篇: mysql开发实践

下一篇: 存储器扩展