列表
列表是最基本的数据结构。列表中的元素被分配一个数字来索引。第一个元素索引为0,第二个元素索引为1,依次类推。 Python有六种内置的序列类型,但最常见的是列表和元组。
- 列表上执行各种类型操作。这些操作包括索引,切片,添加,乘法和检查成员身份。此外,Python还具有内置函数,用于查找序列的长度和查找其最大和最小的元素。
- 列表中的项目不必是相同的类型。
- 列表可以通过索引指定相应的元素来变更元素。
- 删除列表元素 : 要删除列表元素,并且如果确切知道要删除哪些元素可以使用del语句。如果不知道要删除哪些项目,可以使用remove()方法。remove会删除第一个匹配到的元素,如果不存在则抛出异常。
>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> lst[1:7:2] #切片,[1-7)之间每跳2步获取
[2, 4, 6]
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print ("list1[0]: ", list1[0]) ##索引
print ("list2[1:5]: ", list2[1:5]) ##切片
>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> lst[2] = 'CHANGE' ##通过索引下标直接更新列表
>>> lst
[1, 2, 'CHANGE', 4, 5, 6, 7, 8, 9]
>>> lst
[1, 2, 'CHANGE', 4, 5, 6, 7, 8, 9]
>>> lst.append('tail') ##在列表尾部追加元素
>>> lst
[1, 2, 'CHANGE', 4, 5, 6, 7, 8, 9, 'tail']
>>> lst
[1, 2, 'CHANGE', 4, 5, 6, 7, 8, 9, 'tail']
>>> del lst[2] #
>>> lst
[1, 2, 4, 5, 6, 7, 8, 9, 'tail']
>>> lst
[1, 2, 4, 5, 6, 7, 8, 9, 'tail']
>>> lst.remove(2)
>>> lst
[1, 4, 5, 6, 7, 8, 9, 'tail']
>>> lst.remove(1000)
Traceback (most recent call last):
File "<pyshell#1800>", line 1, in <module>
lst.remove(1000)
ValueError: list.remove(x): x not in list
基本操作
列表响应 、 * 运算符。 分别表示连接和重复。
- list(tuple) : 可以将元组转换为列表
- insert(idx, obj) : 将元素obj插入到指定索引idx前面
- append(obj) : 追加元素obj
- pop(obj) : 删除列表中的元素obj,并返回该元素,默认删除最后一个元素
- reverse() : 反转列表
- list.sort([func]) : 将列表做顺序处理,指定func,则按比较函数func排序。
>>> lst
[1, 4, 5, 6, 7, 8, 9, 'tail']
>>> len(lst)
8
>>> [1,2] [2, 3]
[1, 2, 2, 3]
>>> [1, 2] * 3
[1, 2, 1, 2, 1, 2]
>>> 3 in lst
False
>>> 4 in lst
True
>>> for idx in lst:
print(idx)
1
4
5
6
7
8
9
tail
>>> max([1, 2, 3, 4, 4, 5, 6, ])
6
>>> min([2, 2, 3 ,4])
2
>>> lst
[1, 4, 5, 6, 7, 8, 9, 'tail', 6]
>>> lst.insert(3,2) #在索引3之前插入元素2
>>> lst
[1, 4, 5, 2, 6, 7, 8, 9, 'tail', 6]
>>> lst
[1, 4, 5, 2, 6, 7, 8, 9, 'tail', 6]
>>> lst.pop(2) ## 从列表删除指定元素,并返回该元素
5
>>> lst
[1, 4, 2, 6, 7, 8, 9, 'tail', 6]
>>> lst
[1, 4, 2, 6, 7, 8, 9, 'tail', 6]
>>> lst.pop() #默认删除最后一个元素
6
>>> lst
[1, 4, 2, 6, 7, 8, 9, 'tail']
>>> lst
[1, 4, 2, 6, 7, 8, 9, 'tail']
>>> lst.reverse() #反转列表
>>> lst
['tail', 9, 8, 7, 6, 2, 4, 1]
>>> lst2 = [1, 4, 78, -1, 34]
>>> lst2.sort() #自然排序并改变列表
>>> lst2
[-1, 1, 4, 34, 78]