简介
# list,即列表是Python里面基本的数据结构,它是有序且为可迭代对象,且元素类型可以不相同,每个value即元素都有一个index即索引
创建列表
list = list()
list = []
# 创建空列表
list = [1, 'a', 3.14]
# 创建列表并赋初值
list = list(iterable)
# 将一个可迭代对象转换为列表
访问列表中的值
# 列表的index即索引是以0开始的
l = [1, 2, 3, 4]
print(l[0])
# 输出第一个元素即为0
print(l[1])
# 输出第二个元素即为1
# 以此类推
print(l[-1])
# 输出倒数第一个数即为4
print(l[-2])
# 输出倒数第二个数即为3
# 以此类推
# 如果index即索引越界,如l[4]或则l[-5]则会出现IndexError
Python列表脚本操作符
组合
[1, 2, 3] + [4, 5, 6]
# 结果:[1, 2, 3, 4, 5, 6]
重复
[1, 2, 3] * 4
# 结果:[1, 2, 3, 1, 2 ,3, 1, 2, 3, 1 ,2, 3]
元素是否在列表中
1 in [1, 2, 3]
# 结果:True
迭代
for x in [ 1, 2, 3]:
print(x, end="")
# 结果:123
列表截取
list = [1, 2, 3, 4, 5]
print(list[2:4])
# 结果:[3, 4]
函数
def len(*args, **kwargs):
pass
l = [1, 2, 3, 4]
length = len(l)
print(length)
# 结果为4
# 返回列表中元素的个数即列表的长度
def max(*args, key=None):
pass
l = [11, 23, 1, 33, 89, 19, 3]
maxNum = max(l)
print(maxNum)
# 结果为89
# 返回列表中元素的值最大的元素
def min(*args, key=None):
pass
l = [11, 23, 1, 33, 89, 19, 3]
minNum = min(l)
print(minNum)
# 结果为1
# 返回列表中元素的值最小的元素
方法
增元素
def append(self, p_object):
pass
l = [1, 'a', 3.34, 4, 'z']
l.append('r')
print(l)
# 结果为[1, 'a', 3.34, 4, 'z', 'r']
# 往列表后面追加一个元素
def extend(self, iterable):
pass
l = [1, 'a', 3.34]
add = [2, '1', 'z']
l.extend(add)
print(l)
# 结果为[1, 'a', 3.34, 2, '1', 'z']
# 延展列表,往列表后面追加一个可迭代的序列
def insert(self, index, p_object):
pass
l = ['Mr', 'is', 'a', 'handsome', 'man']
l.insert(1, 'iDestro')
print(l)
# 结果为['Mr', 'iDestro', 'is', 'a', 'handsome', 'man']
# 在索引值为index的前面插入一个元素
减元素
def clear(self):
pass
l = ['Mr', 'is', 'a', 'handsome', 'man']
l.clear()
print(l)
# 结果为[]
# 清空列表中的所有元素
def remove(self, value):
pass
l = ['is', 'iDestro', 'is', 'a', 'handsome', 'man']
l.remove('is')
print(l)
# 结果为['iDestro', 'is', 'a', 'handsome', 'man']
# 清除值为value且出现的第一个元素(从左往右)
l = ['is', 'iDestro', 'is', 'a', 'handsome', 'man']
l.remove('hey')
print(l)
# 结果为Traceback (most recent call last):
# File "C:/Users/iDest/Desktop/优快云/Demo1.py", line 2, in <module>
# l.remove('hey')
# ValueError: list.remove(x): x not in list
# 值不存在,触发ValueError
def pop(self, index=None):
pass
l = ['iDestro', 'is', 'a', 'handsome', 'man', 'hey']
l.pop()
print(l)
# 结果为['iDestro', 'is', 'a', 'handsome', 'man']
# 默认删除列表最后一个元素
l.pop(2)
print(l)
# ['iDestro', 'is', 'handsome', 'man']
# 参数为需要删除元素的索引
换顺序
def reverse(self):
l = ['iDestro', 'is', 'a', 'handsome', 'man', 'hey']
a = l.reverse()
print(l)
print(a)
# 结果为['hey', 'man', 'handsome', 'a', 'is', 'iDestro']
# None
# 就地逆序,改变当前列表,返回None
def sort(self, key=None, reverse=False):
就地排序,改变当前列表
其它
def copy(self):
return []
浅拷贝列表
def count(self, value):
return 0
l = ['iDestro', 'is', 'a', 'is', 'is', 'hey']
times = l.count('is')
print(times)
# 结果为3
# 返回出现元素的值为value的次数
def index(self, value, start=None, stop=None):
return 0
l = ['iDestro', 'is', 'a', 'is', 'is', 'hey']
index = l.index('is')
print(index)
# 结果为1
# 返回第一次出现元素的值为value的索引
index = l.index('is', 2, 5)
print(index)
# 结果为1
# 返回第一次出现在特定范围且元素的值为value的索引,其中stop可不要,表示到最后一个元素
index = l.index('am')
print(index)
# 结果为File "C:/Users/iDest/Desktop/优快云/Demo1.py", line 10, in <module>
# index = l.index('am')
# ValueError: 'am' is not in list
# 值不存在,触发ValueError