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
时间: 2024-10-12 20:52:41