python基础——列表

1.列表切片

通过索引查找列表元素

#列表切片   前闭后开   由两个冒号三个数字组成
a = [1,3,5,7,9,0,2,4,6,8,10]

print(a[::2])    #步长为2                             结果[1,5,9,2,6,10]
print(a[3:])     #从索引为3开始                       结果[7,9,0,2,4,6,8,10]
print(a[:2])     #从默认索引为0开始——索引为2结束        结果[1.3]
print(a[1:5])    #从索引为1开始——索引为5结束            结果[3,5,7,9]
print(a[2:9:2])  #从索引为2开始——索引为9结束且步长为2    结果[5,9,2,6]
print(a[1::2])   #从索引为1开始选择索引为奇数的数        结果[3,7,0,4,8]
print(a[::2])    #从索引为0开始,选择索引为偶数的数      结果[1,5,9,2,6,10]

借助列表切片进行复制和翻转

a = [1,3,5,7,9,0,2,4,6,8,10]
b = a[:]      #复制a
c = a[::-1]   #翻转a
print(b)      #结果[1,3,5,7,9,0,2,4,6,8,10]
print(c)      #结果[10,8,6,4,2,0,9,7,5,3,1]

print(a == b)  #结果 True    判断值是否相同

print(id(a))   #结果 1708408877448
print(id(b))   #结果 1708430100680
print(a is b)  #结果 False   判断id是否相同
  • 复制之后a和b都是列表,包含相同的值,但是id不同。因此,a和b不是同一个列表

2.列表元素的动态添加

方法:append、extend、insert 、+

2.1 append方法

append方法:只将元素添加到原始列表末尾,不对传入的参数做任何处理

a = [1,2,3]
a.append(4)  
print(a)     #结果 [1,2,3,4]

2.2 extend方法

extend方法:将b中元素按原始顺序添加到a中

#%%
a = [1,2,3]
b = [4,5,6]
a.extend(b)
print(a)   #结果 [1, 2, 3, 4, 5, 6]

2.3 insert方法

insert方法:将元素4插入索引为1的位置,a中后面元素后移

#%%
a = [1,2,3]
a.insert(1,4) 
print(a)      #结果 [1, 4, 2, 3]

2.4 +方法

+方法:和extend方法相同

#%%
a = [1,2,3]
b = [5,8,0]
c = a+b
print(c)   #结果 [1, 2, 3, 5, 8, 0]

3.列表元素的动态删除

方法:clear、pop、remove

3.1 clear方法

clear方法:将列表元素清空
[]方法:和clear方法相同

a = [1,2,3]
b = [4,5,6]
a.clear()  #clear方法:将列表元素清空
b = []     #[]方法:和clear方法相同
print(a)   #结果:[]
print(b)   #结果:[]

3.2 pop方法

pop方法:删除列表尾部元素,并返回该值

a = [1,2,3]
pop_value = a.pop()  #pop方法:删除列表尾部元素,并返回该值
print(a)             #结果:[1,2]
print(pop_value)     #结果:3

3.3 remove方法

remove方法:针对不知道索引值的删除,且重复的元素,第一次删除只会删除第一个出现的元素

a = [0,1,2,3,1,2]
a.remove(2)      #remove方法:针对不知道索引值的删除
print(a)         #删除第一次次结果:[0, 1, 3, 1, 2]
a.remove(2)
print(a)         #删除第一次次结果:[0, 1, 3, 1]

4.列表元素的查找、统计和排序

4.1 index

index:已知元素未知索引进行查找,结果:返回第一次出现的元素对应索引

a = [0,1,2,3,1,2]
print(a.index(2))   #结果:2

4.2 conut

conut:统计元素出现的次数

a = [0,1,2,3,1,2]
print(a.count(1))  #conut:统计元素出现的次数,结果:2

4.3 sort

sort:对列表进行排序

a = [0,1,2,3,1,2]
a.sort()           #sort:对列表进行排序,
print(a)           #结果:[0, 1, 1, 2, 2, 3]

sort(reverse=True):对列表进行逆排序

a = [0,1,2,3,1,2]
a.sort(reverse=True)  #sort(reverse=True):对列表进行逆排序
print(a)              #结果:[3, 2, 2, 1, 1, 0]

5.列表元素的复制和翻转

5.1 复制

copy:将a的内容复制给b
切片复制:和copy方法等价

a = [1,2,5,9]
b = a.copy()        #copy:将a的内容复制给b
c = a[:]            #切片复制:和copy方法等价
print(b)            #结果:[1,2,5,9]
print(c)            #结果:[1,2,5,9]
  • a,b,c三个列表内容相同,但不是同一个列表

5.2 翻转

翻转方法:切片操作进行翻转、列表内置reserve

a = [1,2,5,9]
b =a[::-1]         #将a的内容翻转赋值给b,产生新列表
a.reverse()        #翻转a,不产生新列表
print(b)           #结果:[9, 5, 2, 1]
print(a)           #结果:[9, 5, 2, 1]
print(b == a)      #比较a和b的数值,结果:True
  • 切片操作进行翻转,会产生新列表,而reserve操作不会产生新列表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值