文章目录
Python 列表基础
1. 特点
-
可变长
-
异构的:可以是任意类型
[1, 'a']
-
任意嵌套的:
list_ = [1, [1, 2], [3, 4, ['apple']]]
,但是对于这个列表来说,只包含 3 个对象,即list_.len() = 3
2. 常用函数
2.1 len
所有可迭代类型都支持:
>>> len('abc')
3
>>> len([1, 2, 3])
3
>>> len([1, 2, [1, 2, 3]])
3
2.2 增加:append & extend & insert
>>> list_ = [1, 2, 3]
# L.append(object) -> None
# -- append object to end,将对象直接添加
>>> list_.append('a')
[1, 2, 3, 'a']
>>> list_.append(['a', 'b', 'c'])
# 这里前后是同一个变量,应该包括前面的 'a',感谢大佬指正
[1, 2, 3, 'a', ['a', 'b', 'c']]
# L.extend(iterable) -> None
# -- extend list by appending elements from the iterable,将迭代对象的每一个元素添加,即用一个新的列表中的元素来扩展原来的列表
>>> list_.extend(['a', 'b', 'c'])
[1, 2, 3, 'a', 'b', 'c']
>>> list_.extend(1)
TypeError: 'int' object is not iterable
2.3 删除:pop & remove & clear
pop
# L.pop([index]) -> item
# -- remove and return item at index,移除并返回对应索引的物件,默认索引值为 -1,即最后一个
>>> list_ = [1, 2, 3]
>>> list_.pop()
3
>>> list_
[1, 2]
>>> list_.pop(2)
IndexError: pop index out of range
>>> list_.pop(0)
1
>>> list_
[2]
remove
# L.remove(value) -> None
# -- remove first occurence of value,移除等于这个值的第一个元素
# Raises ValueError if the value is not present
>>> list_ = ['a', 'b', 'c']
>>> list_.remove('a')
['b', 'c']
# value specified
>>> list_.append(False)
['b', 'c', False]
>>> list_.remove(0)
['b', 'c']
# error
>>> list_.remove('k')
ValueError: list.remove(x): x not in list
clear
# L.clear() -> None
# 移除所有物件
>>> list_ = [1, 2, 3]
>>> list_.clear()
>>> list_
[]
2.4 拷贝:copy
l o a d i n g . . . loading... loading...
2.5 排序:sort
# L.sort(key=None, reverse=False) -> None
>>> nums = [4, 2, 5, 1, 3]
>>> nums.sort()
# 默认升序
[1, 2, 3, 4, 5]
>>> nums.sort(reverse=True)
[5, 4, 3, 2, 1]
2.6 反转:reverse
>>> list_ = [1, 3, 4]
>>> list_.reverse()
[4, 3, 1]
2.7 索引:index
# L.index(object) -> int
# 返回对象的索引
>>> list_ = [1, 3, 4]
>>> list_.index(3)
1
2.8 计数:count
# L.count(object) -> int
# 返回目标计数对象在序列中的个数
>>> list_ = [1, 1, [1, 1, 1, 1]]
>>> list_.count(1)
2
>>> list_.count([1, 1, 1, 1])
1