Python入门(六) list

    Python中的list,跟c++中的vertor有些类似,支持随机访问,可以动态增加或者删除数据,但是list要比vector更加灵活,可以存放任意类型的元素,包括嵌套list。

    1. list的创建: 使用[]表示,元素之间用括号分割。

list1 = ['a', 'b', 'c']

    2. 访问list中的元素:

#通过下标遍历list
for i in range(len(list1)):
    print list1[i]
    
#通过for迭代list
for v in list1:
    print(v)

    list中的元素,直接通过下标访问,跟c语言的数组很像,下标也是从0开始。

#修改list中的元素
list1[0] = 'ab'
print(list1)

>>> ['ab', 'b', 'c']

    删除list中的某个元素:

del list1[1]
print(list1)
>>> ['ab', 'c']

    list是可以动态的增加与删除元素的,增加就不像删除这么简单了,如:

#像list尾部插入一个元素
list1[len(list1)] = 'd'
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    list1[len(list1)] = 'd'
IndexError: list assignment index out of range

    说明插入一个元素不能够直接操作,要通过insert或者是append方法来完成:

#从尾部插入
list1.append('d')
print(list1)
>>> ['ab', 'c', 'd']

#在指定位置插入
list1.insert(1, 'e')
print(list1)
>>> ['ab', 'e', 'c', 'd']

list1.insert(100, 'x')
print(list1)
>>> ['ab', 'e', 'c', 'd', 'x']

    从上面的结果来看,insert方法在指定位置插入时,如果指定位置已经有元素了,那么会将此元素及其后面的元素进行移动。如果指定的位置超出了末尾的位置,则会将元素插入到尾部。

    3. 截取list中的部分元素: 这个与tuple一样, [left : right, step], 左边闭合,右边开放

print(list1[1:3])
>>> ['e', 'c']

print(list1[1:-1])
>>> ['e', 'c', 'd']

    4. list中其他常用的方法:

1)reverse() : 反转list

list1.reverse()
print(list1)
>>> ['x', 'd', 'c', 'e', 'ab']

2)remove(value) : 移除list中第一个值匹配value的元素

list1.remove('ab')
print(list1)
>>> ['x', 'd', 'c', 'e']

3) pop() : 移除list中最后一个元素,并将其返回

printf(list1.pop())
>>> 'e'

print(list1)
>>> ['x', 'd', 'c']

4) count(value) : 通过list中值等于value的元素个数

list1.count('a')
>>> 0

list1.count('x')
>>> 1

5) sort(func) : 对list的元素进行排序

list1.sort()
print(list1)
>>> ['c', 'd', 'x']

6)index(value) : 查找第一个匹配value的元素,返回其索引值

list1.index('d')
>>> 1

    如果只是简单的判断某个元素是否存在于list中,可以直接使用in进行判断

if 'd' in list1:
    print('d is in list1')
else:
    print('d is not in list1')
   
>>> d is in list1

    原文作者:python入门
    原文地址: https://my.oschina.net/kaedehao/blog/491634
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞