定义:
Python的列表和C/C++中的数组有所区别,但是在很大程度上是相似的,但是Python的列表是动态的,中间的内容是不受局限的,不一定是同一种类型,可以是多种类型。list
类型的定义方式有两种:
直接定义:
使用 [ ]我们便可以直接的定义一个列表
list_1 = [ ] # 空列表
list_2 = [1,2,3]
list_3 = ['a','b','c']
My_list = ['a','b',3]
转换
使用
list
函数将元组转换成列表
(元组其实是一种特殊的列表,其特殊性在于元组中的数据一旦定义,之后我们便不可改变)
tuple = (1,2,3,4,5)
list_ = list(tuple)
生成器
list_1 = [i for i in range(1,10)]
print(list_1)
list_2 = [x+y for x in 'abcde' for y in '12345']
print(list_2)
使用方式
- 使用
len
函数获取列表的长度
my_list = [1,2,3,4,'2','4']
print(len(my_list)) # 6
- 进行切片
对列表的切片类似于字符串的切片,具有相同的操作。
我们可以采用索引的方式来获取列表中特定位置的字符, 使用方式为list[index]
, 在Python中第一个元素所对应的index
为 0, 而不是 1 , 另外我们还可以使用list[start:end]
来获取列表中 index 从 start 到 end 之间的字符, 但是不包含 end对应的字符, Python中也支持负数
的索引值,其中最后一个元素
对应的为-1
, 如果start
或者end
其中有一个为空,start
为空时,默认从第一个元素到end
(但不包括),end
为空时,从start
到最后一个元素
list_ = [1,2,3,4,'e','r','w','5','t']
print(list[0]) # 1
print(list[0:1]) # [1]
print(list[:2]) # [1,2]
print(list[1:]) # [2, 3, 4, 'e', 'r', 'w', '5', 't']
print(list[-1]) # 't'
print(list[1:7:2]) # [2, 4, 'r']
- 使用成员操作符
in
使用
in
函数,我们可以简单的知道一个元素是否在列表中间
list_ = [1,2,3,4,'e','r','w','5','t']
2 in list_ # True
'a' in list_ # False
- 使用
for
进行遍历
我们可以使用循环进行遍历
for i in list_:
print(i)
也可以使用
for in
来实现
for i in list_:
print(i)
- 使用运算符
在列表中,我们可以使用
*
来对列表的内容进行重复
list_ = [2,3,4]
print(list_*3) # [2,3,4,2,3,4,2,3,4]
使用 + 来合并列表
list_1 = [1,2,3]
list_2 = ['a',3,4]
print(list_1+list_2) # [1,2,3,'a',3,4]
- 其他函数
使用
append
添加元素
list_ = [1,2,3,4]
list_.append(5)
使用
extend
来合并列表
list_1 = [1,2,3]
list_2 = [4,5]
list_1.extend(list_2)
print(list_1) # [1,2,3,4,5]
使用
remove
和pop
函数来删除元素
list_1 = [1,2,3,4,5]
list_1.remove(1) # 删除元素 1
list_1.pop() # 不带参数,删除最后一个元素并返回
list_1.pop(1) # 删除第二个元素并返回
使用
clear
函数来清空列表
list_2 = [1,2,3,4]
list_2.clear()
print(list_2) # []
使用
sorted
和sort
函数对元素进行排序
使用sorted不会改变列表本身
list_ =[1,5,6,2,4,3]
print(sorted(list_)) # [1,2,3,4,5,6]
print(sorted(list_, reverse = True)) # 逆序
使用内置函数sort会改变列表的本身
list_ =[1,5,6,2,4,3]
list_.sort()
print(list_) # [1,2,3,4,5,6]
list_.sort(reverse=True) # 逆序