【Python基础入门技能树笔记】数据类型-复合数据类型

3. 复合数据类型

List列表

创建
变量名 = [元素1,元素2,,元素n]

list类型中区分元素的顺序,且允许包含重复的元素。

列表加法

多个列表可以通过加法进行拼接,如下

lst1 = [1,2,3,4]
lst2 = ['a','b','c',666]
print(lst1)
print(lst1 + lst2)

结果:

[1, 2, 3, 4]
[1, 2, 3, 4, 'a', 'b', 'c', 666]

列表相加并非列表元素两两相加,而是将两个列表拼接在一起,并返回新的列表。

列表乘法

列表乘法是指列表与一个整数N相乘,这会将列表中的元素重复N次,并返回到一个新的列表,如下

lst2 = ['a','b','c',666]
print(lst2 * 3)

结果

['a', 'b', 'c', 666, 'a', 'b', 'c', 666, 'a', 'b', 'c', 666]
索引

列表每一个元素都对应一个整数型的索引值,可以通过索引值来得到相应的元素值。同时支持列表元素的正向索引和反向索引。

正向索引即索引值为正,从0开始;
反向索引即索引值为负,从-1开始。若是反向索引,则-1为末尾元素对应的索引编号。

lst2 = ['a','b','c',666]
print(lst2[1],lst2[-1])

结果:

b 666
切片

切片操作可以截取列表变量中的部分元素,并返回一个子列表变量。

切片操作中,生成子列表的元素包含起始索引对应的元素,但是不包含终止索引对应的元素。

lst2 = ['a','b','c',666]
print(lst2[1:3])

结果:

['b', 'c']

切片这里截取的是原片段,而不是副本,对切片修改,原列表也会修改

删、改

通过索引值或切片对相应元素进行修改或删除。

lst2 = ['a','b','c',666]
lst2[2] = 'jntm'
print(lst2)
lst2[1] = 'kbqn'
print(lst2)
lst2[1:3] = [1,2]
print(lst2)

结果:

['a', 'b', 'jntm', 666]
['a', 'kbqn', 'jntm', 666]
['a', 1, 2, 666]

删除整个列表或列表中的部分元素,使用del命令。删除整个列表后,不可再次引用。

列表推导式
  1. 列表推导式会遍历后面的可迭代对象,然后按照for前的表达式进行运算,生成最终的列表.
  2. 如果有if条件语句,for遍历后紧跟着进行条件判断.
  3. 如果有多个for循环,则最终的数据数量为多个for循环的笛卡尔积.
  4. 可以进行嵌套的列表推导,与嵌套for循环的原理相同.
lst = [e for e in range(3)]
print(lst)

lst2 = [e for e in range(3) for f in range(e+1,e+3)]
print(lst2)
lst22 = []
for e in range(3):
    for f in range(e+1,e+3):
        lst22.append(e)

print(lst22)

lst3 = [e for e in range(10) if (e != 5) & (e % 2 == 1)]# 多个条件,请带括号
print(lst3)
lst33 = []
for e in range(10):
    if (e !
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值