python的列表list


列表(list):用于存储任意数目、任意类型的数据集合

方法要点描述
list.append(x)增加元素将元素 x 增加到列表 list 尾部
list.extend(aList)增加元素将列表 alist 所有元素加到列表 list 尾部
list.insert(index,x)增加元素在列表 list 指定位置 index 处插入元素 x
del a[i]删除指定下标删除列表a下标为i的元素
list.remove(x)删除下标未知的元素在列表 list 中删除首次出现的指定元素 x
list.pop([index] = n - 1)删除指定下标的元素, 并获得返回值删除并返回列表 list 指定为止 index 处的元素,默认是最后一个元素
list.clear()删除所有元素删除列表所有元素,并不是删除列表对象
list.index(x)访问元素返回第一个 x 的索引位置,若不存在 x 元素抛出异常
list.count(x)计数返回指定元素 x 在列表 list 中出现的次数
len(list)列表长度返回列表中包含元素的个数
list.reverse()翻转列表所有元素原地翻转
list.sort(reverse=False)排序 原列表所有元素原地排序
sorted(list)返回排序后的列表, 愿列表顺序不变所有元素原地排序, 原列表顺序不变, 返回排好序的列表
list.copy()浅拷贝返回列表对象的浅拷贝

列表的创建

直接创建一个不连续的列表

list = [1, 6,9, 10];

range()创建整数连续的列表

range()可以帮助我们非常方便的创建整数列表,这在开发中及其有用。语法格式为:range([start,] end [,step])start 参数:可选,表示起始数字。默认是 0end 参数:必选,表示结尾数字。step 参数:可选,表示步长,默认为 1python3 中 range()返回的是一个 range 对象,而不是列表。我们需要通过 list()方法将其转换成列表对象

>>> range(3, 56, 4)
range(3, 56, 4)
>>> list(range(3, 56, 2))
[3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
>>> list(range(50, 3, -2))
[50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4]
>>> list(range(5, -5, -2))
[5, 3, 1, -1, -3]
>>> list(range(-1, -5, -1))
[-1, -2, -3, -4]

创建一个空列表

list = []

index()

index()获得指定元素在列表中首次出现的索引
index()可以获取指定元素首次出现的索引位置。语法是:index(value,start,end])。其中start 和 end 指定了搜索的范围。

count()

获得指定元素在列表中出现的次数

len()

返回列表长度len()返回列表长度,即列表中包含元素的个数

in

判断列表中是否存在指定的元素,我们可以使用 count()方法,返回 0 则表示不存在,返回大于 0 则表示存在。但是,一般我们会使用更加简洁的 in 关键字来判断,直接返回 True或 False

切片

我们在前面学习字符串时,学习过字符串的切片操作,对于列表的切片操作和字符串类似。切片是 Python 序列及其重要的操作,适用于列表、元组、字符串等等。

列表的遍历

for obj in list1:
print(obj)
对列表元素的操作
value * 2 for value in list :
print(value)
list2 = [value * 2 for value in rang(1, 20)]

列表排序

修改原列表,不建新列表的排序

>>> c = [1, 4, 2, 76, 3, 2, 76, 43]
>>> c
[1, 4, 2, 76, 3, 2, 76, 43]
>>> c.sort()
>>> c
[1, 2, 2, 3, 4, 43, 76, 76]# 默认升序
>>> c.sort(reverse=True)
>>> c
[76, 76, 43, 4, 3, 2, 2, 1]# 降序排列
>>> import random
>>> c.shuffle(c) # 打乱顺序
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'shuffle'
>>> random.shuffle(c)
>>> c
[2, 43, 76, 1, 2, 3, 4, 76]

reversed

内置函数 reversed()也支持进行逆序排列,与列表对象 reverse()方法不同的是,内置函数reversed()不对原列表做任何修改,只是返回一个逆序排列的迭代器对象。

>>> a
[1, 'hello world', 1.5, 1, 4, 8, 9, 2, 4, 6, 0]
>>> reversed(a)
<list_reverseiterator object at 0x7f5b0d18a580>
>>> c = reversed(a)
>>> c
<list_reverseiterator object at 0x7f5b0d13d670>
>>> list(c)
[0, 6, 4, 2, 9, 8, 4, 1, 1.5, 'hello world', 1]
>>> list(c)
[]
>>> c
<list_reverseiterator object at 0x7f5b0d13d670>
>>> a
[1, 'hello world', 1.5, 1, 4, 8, 9, 2, 4, 6, 0] 

我们打印输出 c 发现提示是:list_reverseiterator。也就是一个迭代对象。同时,我们使用
list©进行输出,发现只能使用一次。第一次输出了元素,第二次为空。那是因为迭代对象
在第一次时已经遍历结束了,第二次不能再使用

max 和 min

用于返回列表中最大和最小值

sum

对数值型列表的所有元素进行求和操作,对非数值型列表运算则会

二维列表


>>> stu = [
... ['张三',1, '上海'],
... ['李四', 2, '北京'],
... ['王五', 3, '成都']
... ]
>>> stu
[['张三', 1, '上海'], ['李四', 2, '北京'], ['王五', 3, '成都']]
>>> print(stu[1])
['李四', 2, '北京']
>>> print(stu[1][1], stu[1][2])
2 北京
>>> 

列表的拷贝

list1 = list2, 元素相同地址相同, 同一个列表, 名字不同
list1= list2[:], 两个列表, 地址不同

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值