Python列表

1. 列表的基础概念

列表(list)是包含0个或多个数据项的有序序列。与元组不同,列表的长度和内容都是可变的,可自由对列表中数据项进行增加、删除或替换。列表使用非常灵活。列表的数据项不需要具有相同的类型。

列表的表示:用中括号(方括号)括起若干个数据元素,元素之间用逗号隔开。

lsa = [1, 2, 3]

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

lsc = [425, 'BIT', [10, 'CS'], 425]

lsd = []

列表的操作:对批量数据的处理,基本都可以用列表实现。


2. 列表的操作

2.1 访问列表元素

语法:<列表名>[<序号>]

实例如下:

ls = [425, "BIT", [10, "CS"], 425]
print(ls[0])  # 访问列表的第一个元素:425
print(ls[2])  # 访问列表的第三个元素:[10, "CS"]
print(ls[2][-1][0])  # [10, "CS"] --> "CS" --> "C"

输出结果为:


2.2 更改列表元素

语法

ls[i] = x 直接对列表的某项元素赋值 

ls[i: j] = lt    用列表lt替换列表ls中第i到j项数据(不含第j项,下同)

ls[i: j: k] = lt      用列表lt替换列表ls中第i到j以k为步的数据

当使用一个列表改变另一个列表值时,Python不要求两个列表长度一样,但遵循“多增少减”的原则

【示例1 】修改单个元素

ls = [425, "BIT", [10, "CS"], 425]
print(ls)
ls[0] = 500  # 将第一个值修改为500
print(ls)
ls[2] = True  # 将第二个值修改为True
print(ls)

 输出结果为:

 【示例2 】修改多个元素

vlist = [0, 'bit', 'computer', 'python', 4]
# 用["new_bit", "new_computer", 123]替换['bit', 'computer']
vlist[1:3] = ["new_bit", "new_computer", 123]
print(vlist)
# 用["fewer"]替换['new_bit', 'new_computer']
vlist[1:3] = ["fewer"]
print(vlist)

输出结果为:

 


2.3 增加元素:

语法:

list.append(x)    在列表ls最后增加一个元素x

ls += lt或ls.extend(lt)     将列表lt元素增加到列表ls中

ls.insert(i, x)      在列表ls第i位置增加元素x

【示例】

ls = [0, 1, 2, 3, 4]
ls2 = ['c', 'd', 'e']
ls.append("a")  # 添加'a'到列表最后
print(ls)
ls.insert(0, 'b')  # 在列表开头增加元素
print(ls)
ls.extend(ls2)  # 将ls2插入到ls中
print(ls)

输出结果为:


2.4 删除元素

语法:

ls.pop(i)     将列表ls中第i项元素取出并删除该元素,i 默认为-1(即最后一项)

ls.remove(x)      将列表中出现的第一个元素x删除

del ls[i: j]       删除列表ls第i到j项数据,等价于ls[i: j]=[]

【示例】

ls = [0, 1, 2, 3, 4]
ls.pop()  # 列表去除最后一个元素
print(ls)
x = ls.pop(0)   
print(ls)
print(x)

 输出结果为:


2.5 列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

Python 表达式

结果

描述

len([1, 2, 3])

3

长度

[1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

组合

['Hi!'] * 4

['Hi!', 'Hi!', 'Hi!', 'Hi!']

重复

3 in [1, 2, 3]

True

元素是否存在于列表中

for x in [1, 2, 3]: print(x, end=" ")

1 2 3

迭代


2.6 嵌套列表

使用嵌套列表即在列表里创建其它列表,例如:

a = ['a', 'b', 'c']
n = [1, 2, 3]
x = [a, n]
print(x)  # [['a', 'b', 'c'], [1, 2, 3]]
print(x[0])  # ['a', 'b', 'c']
print(x[0][1])  # b

2.7 列表的函数或方法

函数或方法

描述

ls[i] = x

替换列表ls第i数据项为x

ls[i: j] = lt

用列表lt替换列表ls中第i到j项数据(不含第j项,下同)

ls[i: j: k] = lt

用列表lt替换列表ls中第i到j以k为步的数据

ls.append(x)

在列表ls最后增加一个元素x

ls.insert(i, x)

在列表ls第i位置增加元素x

ls += lt或ls.extend(lt)

将列表lt元素增加到列表ls中

ls.pop(i)

将列表ls中第i项元素取出并删除该元素

del ls[i: j]

删除列表ls第i到j项数据,等价于ls[i: j]=[]

del ls[i: j: k]

删除列表ls第i到j以k为步的数据

ls.remove(x)

将列表中出现的第一个元素x删除

ls.clear()

删除ls中所有元素

ls.sort(key, reverse)

列表元素安装key进行排序,reverse默认为False

ls.reverse(x)

列表ls中元素反转

ls.copy()

生成一个新列表,复制ls中所有元素

list()

元组或字符串等转化成列表

列表之间的赋值:与整数和字符串不同,列表要处理一组数据,因此,列表必须通过显式的数据赋值才能生成,简单将一个列表赋值给另一个列表不会生成新的列表对象。

>>>ls = [425, "BIT", 1024]  #用数据赋值产生列表ls

>>>lt = ls       #lt是ls所对应数据的引用,lt并不包含真实数据

>>>ls[0] = 0    

>>>lt

[0, 'BIT', 1024]

 为了避免这种情况,一般不用列表之间赋值,而是采用深度复制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

W_chuanqi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值