💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 每天学点Python之list Python中的列表对参数的类型没有要求,也就是说同一个列表可以包含多种不同类型的对象。 ### 列表的创建 创建一个空的链表有两种方法: ~~~ l = [] l = list() ~~~ 而创建一个包含元素的列表同样有两种方法,下面操作结果相同: ~~~ l = ["a", "b", "c"] l = list("abc") ~~~ 需要注意的是,list方法最多只能有一个参数,也就是说不能将元素依次当做参数传入。它只接受可迭代的对象作为其参数。 Python中对元素的编号也是从0开始的,比较方便的是Python支持便利地获取尾部的元素,如最后一个元素的编号可以用-1表示,可以理解为负数i会自动转化为length+i: ~~~ >>> a=[1,2,3,4,5] >>> print(a[-1]) 5 ~~~ ### 列表的截取 Python支持快速地获取连续的子列表操作list[a:b],截取a到b的部分作为新的列表。需要注意的是a的位置是包含的,而b位置的元素是不包含在内的。如果a省略,则从头开始,如果b省略,则一直包含到末尾: ~~~ >>> a [1, 2, 3, 4, 5] >>> a[1:3] [2, 3] >>> a[:3] [1, 2, 3] >>> a[3:] [4, 5] >>> a[:-1] [1, 2, 3, 4] >>> a[2:1] [] ~~~ ### 列表项的增加 - Python支持两个列表用+号操作表示将第二个列表中的元素加入第一个列表 - list.append(x)表示将元素加入列表中。list.insert(n,x)表示在位置n处插入一个元素x - list.extend(iterable)将迭代器对象中的每个对象加入列表 ~~~ >>> a=[1,2,3] >>> a+[4,5] [1, 2, 3, 4, 5] >>> a.append("abc") >>> a [1, 2, 3, 'abc'] >>> a.extend("abc") >>> a [1, 2, 3, 'abc', 'a', 'b', 'c'] >>> a.insert(0,0) >>> a [0, 1, 2, 3, 'abc', 'a', 'b', 'c'] ~~~ ### 列表的查找 - list.count(x):返回元素x的数目 - list.index(x[,start,end]):返回元素x出现的下标,可以规定起始位置,如果有多个,只返回第一个的下标 - in:判断元素是否在列表中 ~~~ >>> a=[1,2,3,2,1] >>> a.count(1) 2 >>> a.index(1) 0 >>> a.index(1,2) 4 >>> 3 in a True ~~~ ### 列表的删除 - list.remove(x):删除一个元素,如果有多个,只删除第一个 - list.pop([n]):默认删除最后一个元素,如果有参数,则删除倒数n+1的元素 - del list[index]:删除一个元素 ~~~ >>> a [1, 2, 3, 2, 1] >>> a.remove(1) >>> a [2, 3, 2, 1] >>> a.pop(1) 3 >>> a [2, 2, 1] >>> del a[2] >>> a [2, 2] ~~~