python list函数使用总结_python之列表使用方法总结

列表的生成方法:

快捷创建list,两种方式:split方法、list函数和range函数配合使用

split切割字符串:

>>> 'a,b,c,d'.split(',')

['a', 'b', 'c', 'd']

list函数生成列表>>> list('abcd')

['a', 'b', 'c', 'd']

list和range函数配合生成列表>>> list(range(10))

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> [x for x in range(5)] #python列表解析器

[0, 1, 2, 3, 4]

>>> [x for x in range(10) if x%2==0] #加判断条件

[0, 2, 4, 6, 8]

>>> [x+2 for x in range(10) if x%2==0] #还可以在前面加上运算

[2, 4, 6, 8, 10]

>>> [(x,y+1) for x in range(3) for y in range(3)] #生成一个2*3的循环表

[(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)]

>>> l=[] #也可以用for循环生成,但是效率没列表解析器高

>>> for i in range(5):

... l.append(i)

... else:

... print l

...

[0, 1, 2, 3, 4]

读取列表和切片访问>>> a=list('abcde')

>>> a

['a', 'b', 'c', 'd', 'e']

>>> a[1] #取列表中第二个字符,注意列表是从0开始计数的

'b'

>>> a[:] #取列表中全部内容

['a', 'b', 'c', 'd', 'e']

>>> a[1:] #取第二个字符到结尾的内容

['b', 'c', 'd', 'e']

>>> a[1:3] #取第二个字符到第四个字符之前的内容,不包括第四个字符

['b', 'c']

>>> a[:3] #取开头到第四个字符之前的内容

['a', 'b', 'c']

>>> a[:-1] #取开头到最后一个字符之前的内容

['a', 'b', 'c', 'd']

>>> a[-2:-3] #因为取值都是从左到右,倒序也是,所以-2和-3无重叠,为空

[]

>>> a[-2:-1] #取倒数第二个字符到倒数第一个字符之前的内容

['d']

3. 列表新增内容

append、extend、+、insert

>>> a=[1,2,3]

>>> a.append('a,b') #append在列表最后添加,原样添加

>>> a

[1, 2, 3, 'a,b']

>>> a.append(['a','b'])

>>> a

[1, 2, 3, 'a,b', ['a', 'b']]

>>> a+['a','b'] #合并列表,列表比较大时耗费内存

[1, 2, 3, 'a,b', ['a', 'b'], 'a', 'b']

>>> a #用+合并列表时并不改变原列表

[1, 2, 3, 'a,b', ['a', 'b']]

>>> a.extend('ab') #当extend括号里面不是列表时,他会把内容拆分追加到a之后

>>> a

[1, 2, 3, 'a,b', ['a', 'b'], 'a', 'b']

>>> a.extend(['ab','ac']) #当extend括号里面是列表时,他会把列表内容追加到a之后

>>> a

[1, 2, 3, 'a,b', ['a', 'b'], 'a', 'b', 'ab', 'ac']

>>> a.insert(3,4) #insert 在第3个位置插入4(从0开始计数)

>>> a

[1, 2, 3, 4, 'a,b', ['a', 'b'], 'a', 'b', 'ab', 'ac']

>>> a.insert(4,['abc']) #插入列表

>>> a

[1, 2, 3, 4, ['abc'], 'a,b', ['a', 'b'], 'a', 'b', 'ab', 'ac']

4. 修改列表内容

>>> a=[1,2,3,4]

>>> a[1]=5 #把列表第1个计数位置的值修改成5(从0开始计数)

>>> a

[1, 5, 3, 4]

>>> a[1:]='abc' #把第列表第1个计数位置到最后计数位置修改成abc,注意如果是切片替换的话,字符串abc被切割了

>>> a

[1, 'a', 'b', 'c']

>>> a[1]='abc' #但是给某个索引直接赋值时,就不切割了

>>> a

[1, 'abc', 'b', 'c']

>>> a[1:]=['abc'] #如果替换成的是列表也不会切割

>>> a

[1, 'abc']

5. 删除列表内容

del、remove、pop

>>> a=[1,2,3,4,5,6,7,8,9]

#del可以按照索引和切片来删除

>>> del a[1] #删除计数为1的内容

>>> a

[1, 3, 4, 5, 6, 7, 8, 9]

>>> del a[-3:] #删除倒数第三个位置一直到最后的内容

>>> a

[1, 3, 4, 5, 6]

#remove只能按照值来删除

>>> a.remove(4) #删除列表中值为4的内容

>>> a

[1, 3, 5, 6]

>>> a.pop() #pop默认删除最后一个内容,并返回结果

6

>>> a

[1, 3, 5]

>>> a.pop(1) #删除索引为1的内容

3

>>> a

[1, 5]

6. 排序和反转

sort、reverse

>>> a=[4,3,7,5,1]

>>> a.reverse() #reverse反转

>>> a

[1, 5, 7, 3, 4]

>>> a.sort() #sort排序

>>> a #sort后a的列表排序也改变了,但如果不想让a的排序改变呢?

[1, 3, 4, 5, 7]

>>> a=[4,3,7,5,1]

>>> y=a.sort() #这种做法是不行的,因为sort是直接改变列表的排序,不返回内容,所以y为空

>>> y

>>> a

[1, 3, 4, 5, 7]

>>> a=[4,3,7,5,1]

>>> y=a[:] #先把a赋值给y

>>> y

[4, 3, 7, 5, 1]

>>> y.sort() #排序

>>> y

[1, 3, 4, 5, 7]

>>> a #y的值改变了,a的值没有改变

[4, 3, 7, 5, 1]

>>> a=[4,3,7,5,1]

>>> y=a #不能把a直接赋值给y,那样y和a想当于软连接,y改变,a也会改变的

>>> y.sort()

>>> y

[1, 3, 4, 5, 7]

>>> a #a也改变了

[1, 3, 4, 5, 7]

7. 计数和索引位置

count、index

>>> x=['a','b','c','a','b','a','a','a']

>>> x.count('a') #计算a出现的个数

5

>>> x.index('b') #index查到b第一次出现的索引位置

1

>>> x.index('a') #查找a第一次出现的索引位置

0

>>> x.index('a',2,-1) #查到从索引为2的位置到最后中第一次a的索引位置

3

8. 判断:

>>> x=['a','b','c','e']

>>> 'e' in x #in

True

>>> 'f' in x

False

>>> 'f' not in x #not in

True

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值