[Python] 列表操作及方法总结

列表是Python中最基本的数据结构,也是最常用的Python数据类型

列表的数据项不是必须都要具有相同的类型

列表中的每个元素都分配一个数字来标记它的位置(索引),第一个元素索引值是0,第二个元素索引值是1,依此类推

列表的作用是有序的保存任意类型数据 

1.创建列表 

直接赋值创建列表格式如下所示:

列表名 = [元素1, 元素2, ...]
aList = [1, 2, 3, 4, 5]
# [1, 2, 3, 4, 5]
print(aList)
# 创建一个列表,可用来存储各种不同类型的数据
bList = ["hello", True, 10, 3.14]
# # ['hello', True, 10, 3.14]
print(bList) 

使用内置函数list()创建列表 

aList = list('Hello')
# ['H', 'e', 'l', 'l', 'o']
print(aList)
bList = list('123456')
# ['1', '2', '3', '4', '5', '6']
print(bList)

创建空列表

aList = []
print(aList) # []
bList = list()
print(bList) # []

列表推导式创建列表

列表推导式是Python构建列表list的一种快捷方式,可以使用简洁的代码创建出一个列表 

Python列表推导式https://blog.csdn.net/Hudas/article/details/122850039

2.列表常见操作方法

2.1索引

列表中的所有元素都是有编号的,即我们所说的索引值,从0开始递增

我们可以使用索引来获取元素

aList = [10,20,30,40,50]
print(aList[0]) # 10
print(aList[2]) # 30
print(aList[4]) # 50
print(aList[-1]) # 50

2.2切片 

除了使用索引访问单个元素外,我们还可以使用切片(slicing)来访问特定范围内的元素

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
nums[2:5] # [3, 4, 5]
nums[3:-2] # [4, 5, 6, 7, 8, 9, 10]

扩展补充资料

Python切片操作https://blog.csdn.net/Hudas/article/details/125905111

2.3计算列表元素个数

len(list)可用于获取列表长度

注明:list代表列表

aList = [1,2,3,4,5]
print(len(aList)) # 5

2.4判断元素是否存在于列表中 

运算符in可用于检查特定的值是否包含在列表list中,包含在内则返回True,不包含在内则返回False

users = ['Andy', 'Tian', 'Lee']
print('Andy' in users) # True
print('Rita' in users) # False

扩展:not in判断指定元素是否不在列表list中

users = ['Andy', 'Tian', 'Lee']
print('Andy' not in users) # False
print('Rita' not in users) # True

2.5组合列表

可使用加法运算符+来拼接列表 

# [1, 2, 3, 4, 5, 6]
print([1,2,3] + [4,5,6])
# Hello World!!
print('Hello ' + 'World!!')
# TypeError: can only concatenate list (not "str") to list
print([1,2,3] + 'Andy')

2.6重复列表

将列表与数x相乘时,将重复这个列表x次来创建一个新列表

# [1, 1, 1, 1, 1]
print([1] * 5)
# [1, 2, 1, 2, 1, 2]
print([1,2] * 3)

2.7获取列表中元素的最大值与最小值

max()可获取列表元素的最大值

min()可获取列表元素的最小值 

numbers = [1, 20, 300, 4000]
# 获取最大值
print(max(numbers)) # 4000
# 获取最小值
print(min(numbers)) # 1

2.8统计某个元素在列表中出现的次数 

count()用于计算指定元素在列表中出现了多少次

aList = ['to','be','or','not','to','be']
print(aList.count('to')) # 2

bList = [[1, 2],1, 1,[2, 1, [1, 2]]]
print(bList.count(1)) # 2
print(bList.count([1, 2])) # 1

2.9查找列表指定值第一次出现的索引 

index()可以从列表中找出某个值第一个匹配项的索引位置

aList = ['What','is','the','weather','like','today','?']
aList.index('like') # 4
# 报错,ValueError: 'are' is not in list
aList.index('are') 

2.10反转列表中元素

reverse()函数用于反向列表中元素

aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.reverse()
# ['xyz', 'abc', 'zara', 'xyz', 123]
print(aList)

扩展补充知识

reverse()函数 VS reversed()函数https://blog.csdn.net/Hudas/article/details/126717575

2.11添加列表元素

insert()用于将指定对象插入列表的指定位置 

numbers = [1, 2, 3, 5, 6, 7]
numbers.insert(3,'four')
# [1, 2, 3, 'four', 5, 6, 7]
print(numbers)

我们也可以使用切片赋值来获得与insert()一样的效果

numbers = [1, 2, 3, 5, 6, 7]
numbers[3:3] = ['four']
# [1, 2, 3, 'four', 5, 6, 7]
print(numbers)

扩展补充知识

insert()方法https://blog.csdn.net/Hudas/article/details/122967923

append()用于在列表末尾添加新的元素(追加单个数据)

aList = [1, 2, 3, 4]
aList.append(5)
# [1, 2, 3, 4, 5]
print(aList)
aList = [1, 2, 3, 4]
lst = [5, 6]
aList.append(lst)
# [1, 2, 3, 4, [5, 6]]
print(aList)

extend()用于将多个元素附加到列表末尾(追加多个数据)

aList = [1, 2, 3]
lst = [4, 5, 6]
aList.extend(lst)
# [1, 2, 3, 4, 5, 6]
print(aList)

我们也可以使用切片赋值来获得与extend()一样的效果

aList = [1, 2, 3]
lst = [4, 5, 6]
aList[len(aList):] = lst
# [1, 2, 3, 4, 5, 6]
print(aList)

2.12删除列表元素

del语句可以删除列表中指定的元素

语法格式: del list[index]

names = ['Andy', 'Lee', 'Odin', 'Rita', 'Summer']
del names[3]
# ['Andy', 'Lee', 'Odin', 'Summer']
print(names)

remove()用于移除列表中某个值的第一个匹配项

aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.remove('xyz')
print("List : ", aList) # List :  [123, 'zara', 'abc', 'xyz']
aList.remove('abc')
print("List : ", aList) # List :  [123, 'zara', 'xyz']

扩展补充知识 

remove()方法https://blog.csdn.net/Hudas/article/details/122849706

pop()可以从列表中删除一个元素(默认为最后一个元素),并返回这一个元素

aList = [1, 2, 3]
aList.pop() # 3
print(aList) # [1, 2]
aList.pop(0) # 1
print(aList) # [2]

扩展补充知识

pop()函数https://blog.csdn.net/Hudas/article/details/126706352

clear()用于清空列表中的所有元素

aList = [1, 2, 3, 4, 5]
aList.clear()
print(aList) # []

扩展知识

切片赋值语句list[:] = []也可以实现clear()功能

aList = [1, 2, 3, 4, 5]
aList[:] = []
print(aList) # []

2.13列表排序

sort()方法可以对原列表进行排序

aList = [4, 6, 2, 1, 7, 9]
aList.sort()
# [1, 2, 4, 6, 7, 9]
print(aList)

sorted()函数同样也可以对列表进行排序

aList = [4, 6, 2, 1, 7, 9]
bList = sorted(aList)
# [4, 6, 2, 1, 7, 9]
print(aList)
# [1, 2, 4, 6, 7, 9]
print(bList)

补充扩展知识

sort()方法 VS sorted()函数https://blog.csdn.net/Hudas/article/details/122884550

2.14复制列表 

copy()用于复制列表

aList = [1, 2, 3]
bList = aList.copy()
bList[1] = 4
print(aList) # [1, 2, 3]
print(bList) # [1, 4, 3]

2.15列表转换成字符串 

join()可以将列表转换成字符串

list = ["Hello", "World", "!"]
# 'Hello World !'
" ".join(list)
  • 8
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值