创建一个列表:a=[1,2,3];列表中的元素可以是任意类型的,包括子列表(多维列表)
查找列表元素:可使用a[index]查找某个下标的元素,利用target in a的返回值判断某元素(target)是否位于列表a中;下标的长度可以是负值,与字符串索引相同,下标值位于-len(a)与len(a)-1之间;利用index()方法查找某个元素第一次出现的位置索引,如目标不存在于列表中,则报错
截取列表元素集:a[m:n]返回值为下标m至n的子列表,这里m与n的值可以为负数;当m为空值时,返回值为列表第一个元素至n位置前一个的子列表;n为空值时,返回值为列表n位置到最后一个元素的子列表(注意这里包含了最后一个元素)
增加一个列表元素:
调用append()方法,可将一个对象追加到目标列表最后位置(可以是一个新的列表,结果为生成一个二维列表)
前一方法在插入非列表对象时等价于a[len(a):]=[x],但是后者的赋值对象必须是一个列表,否则报错
调用extend()方法,注意该方法不能插入整型、布尔型等类型的对象;调用该方法插入字符串时,字符串会被拆分;调用该方法插入子列表时,列表元素会被拆分
a=[1,2,3,False,'end'] a.extend('dir')#[1, 2, 3, False, 'end', 'd', 'i', 'r'] a.extend(['take','token'])#[1, 2, 3, False, 'end', 'take', 'token']
insert(a,b)方法将a索引下的对象b插入到目标列表中,原有a索引位置的元素将后移一个位置,以此类推。当a的值为负数时,原有元素位置同样后移,则被插入元素位置将为a-1,a的取值范围位于-len(a)至len(a)之间
删除一个元素:
remove(tar)删除目标列表中第一个匹配到tar的元素
pop([i])删除目标列表中i下标的元素
删除元素后,原有的下标将会被后面的元素所取代,因此remove()方法在结合for循环遍历时,会出现遗漏的问题,如
def lstrmo(): arrlst_1=[1,2,3,'a','b','c','television','move','a','b',33,'c'] indx_aim=raw_input("please input the target you need to remove\n") cont=0 pas=0 for i in arrlst_1: print i pas=pas+1 if i==indx_aim: arrlst_1.remove(i) cont=cont+1 print "we cheak"+str(pas)+"in this arraw , and we found"+str(cont)+"matched" print "the result:" print arrlst_1
这里如果删除‘a’这个元素,遍历打印时,将会漏掉'a'后面的元素,如果两个相同元素位于前后位置时,单点循环不能删除其后的元素。
生成数字列表:
range(a,b,step)生成由a至b,级差为step的数字列表,a默认值为0,b为必填项,step默认为1
列表排序:
sort()将列表进行字符大小排序,该方法没有返回值,目标列表将按照排序方法重定义;当reverse=True被写入到方法中时,将按照倒序排序
列表与字符串互转:
str.split(mark,i)将str字符串以mark为标识符,进行分组生成列表;当i值不为空时,在第i个标识符以后停止分组,其后的内容将被分组到一个元素中
“mark”.join(a)将列表中的元素以mark为标识符进行拆分