简介
# 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): passl = [1, 2, 3, 4] length = len(l) print(length) # 结果为4 # 返回列表中元素的个数即列表的长度
def max(*args, key=None): passl = [11, 23, 1, 33, 89, 19, 3] maxNum = max(l) print(maxNum) # 结果为89 # 返回列表中元素的值最大的元素
def min(*args, key=None): passl = [11, 23, 1, 33, 89, 19, 3] minNum = min(l) print(minNum) # 结果为1 # 返回列表中元素的值最小的元素
方法
增元素
def append(self, p_object): passl = [1, 'a', 3.34, 4, 'z'] l.append('r') print(l) # 结果为[1, 'a', 3.34, 4, 'z', 'r'] # 往列表后面追加一个元素
def extend(self, iterable): passl = [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): passl = ['Mr', 'is', 'a', 'handsome', 'man'] l.insert(1, 'iDestro') print(l) # 结果为['Mr', 'iDestro', 'is', 'a', 'handsome', 'man'] # 在索引值为index的前面插入一个元素
减元素
def clear(self): passl = ['Mr', 'is', 'a', 'handsome', 'man'] l.clear() print(l) # 结果为[] # 清空列表中的所有元素
def remove(self, value): passl = ['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/CSDN/Demo1.py", line 2, in <module> # l.remove('hey') # ValueError: list.remove(x): x not in list # 值不存在,触发ValueError
def pop(self, index=None): passl = ['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 0l = ['iDestro', 'is', 'a', 'is', 'is', 'hey'] times = l.count('is') print(times) # 结果为3 # 返回出现元素的值为value的次数
def index(self, value, start=None, stop=None): return 0l = ['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/CSDN/Demo1.py", line 10, in <module> # index = l.index('am') # ValueError: 'am' is not in list # 值不存在,触发ValueError