list 和 tuple 的基本操作

2024-04-25
-
-

 

列表是一个可增加、删除元素的可变容器。

 

基本操作

创建方法

list = []

使用Python的内置函数len求list内元素个数。

len(lst) # 6

遍历方法

for in 

判断类型方法

type

lst = [12,'你好',['shmaur',52]]

print(len(lst))

for _ in lst:
    print(f'{_}的类型为{type(_)}')

append() 往list 尾部插入元素

sku = lst[4]
sku.append('sanin')

指定位置插入元素 insert()

sku.insert(1,'尖子')
print(sku)

移除数组中最后一个元素 pop()

item = sku.pop()
print(item)
print(sku)

移除数组中指定元素

sku.remove('尖子')
print(sku)

拷贝

浅拷贝 copy() 

sku_deep = lst[4].copy()
print(sku_deep)
sku_deeps = lst.copy()
sku_deeps[0] = 'Shmaurs'
sku_deeps[4][1] = 86

print(sku_deeps)
# 测试两个值的相等性
print(lst[0] == sku_deeps[0])
# 测试二维数组是否相等
print(lst[4][1] == sku_deeps[4][1])  # 返回 True,进⼀步证明是浅拷⻉,不是深拷⻉。

深度拷贝,需要使⽤ copy 模块的 deepcopy 函数 

from copy import deepcopy

newSku = deepcopy(lst)
newSku[0] = 'love shmaur'
newSku[4][1] = 98
print('=============')
print(lst)
print(newSku)
# 测试两个值的相等性
print(lst[0] == newSku[0])
# 测试二维数组是否相等
print(lst[4][1] == newSku[4][1])  # 返回 True,进⼀步证明是浅拷⻉,不是深拷⻉。
print(lst)
print(newSku)

切片

ange(start,stop,step) ⽣成序列数据,并转为 list 类型 

qiepian = list(range(1,40,3))
print(qiepian)
# 获取前面三个元素
print(qiepian[:3]) # 获取前面三个
print(qiepian[-1]) # 获取最后一个元素
print(qiepian[:-1]) # 获取除了最后一个元素的所有元素
print(qiepian[1:5]) # 获取从索引1到5,不包含索引5,实际就是4个
print(qiepian[1:10:3]) # 获取从索引1到10,在这个数组中按每三个取一次 
print(qiepian)
print(qiepian[::3]) # 获取步长为3,也就是每第三个获取
print(qiepian[::-3]) # 获取逆向步长为3,也就是每第三个获取

#使用列表逆向切片操作
def reverse(qiepian):
    return qiepian[::-1]

newQiepian = reverse(qiepian)
print(newQiepian)

元组

元组既然是不可变(immutable)对象,⾃然也就没有增加、删除元素的⽅法。

基本操作

tu = () # 空元组对象

atu = (1,2,3,'45',52.568)

以上都是元组,除了list使用[]创建外,其他与list都很相似,比如都支持切片操作。

特别需要注意,一个整数加一对括号,比如(10),返回的是整数,必须加一个逗号(10,)才会返回元组对象。

atu = ()
btu = (1,2,3,'sdgf',25.588)
ctu = (1,2,3,'sdgf',25.588,['234','wer'])

atuInt = ctu[1]
print(atuInt)

列表和元组的统计方法 count


from numpy import random 

ran = random.randint(1,5,10)  # 从 [1,5) 区间内随机选择 10 个数 
print(ran)  # [2 4 2 4 2 3 1 2 3 2]
ranTu = tuple(ran)  
print(ranTu.count(4)) # 2

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录关闭