Python3.10 - 列表的常用方法

01 列表的切片

lst = ['a', 'b', 1, 2, ['c1', 1]]

# 01 列表的切片
lst1 = lst[0:2]  # 从0开始切到1(顾头不顾尾), 切得长度超过1时, 切出来为list类型
print(lst1, type(lst1))

lst2 = lst[0]  # 从中切某个元素时, 切出来的类型即元素本身, 以下同理
print(lst2, type(lst2))

lst3 = lst[2]
print(lst3, type(lst3))

lst4 = lst[4]
print(lst4, type(lst4))

lst5 = lst[-1:-3:-1]  # 第三个参数为-1时, 表示从右往左切, 也是顾头不照尾
print(lst5, type(lst5))

lst6 = lst[::-1]  # 列表反切
print(lst6, type(lst6))

 02 往列表中添加元素

list = ['a', 'b', 1, 2, ['c1', 1]]

list.append({'工号': '001'})  # append()一次只能添加一个元素, 并且在列表最后
print(list)
print(list.append('test'))  # None

lst7 = list.append('test')  # 注意append方法直接对列表进行修改, 返回None值, 不需要重新赋值list_a
print(lst7, type(lst7))  # None

lst8 = list.insert(0, '首字')  # insert同理
print(list)
print(lst8)    # None

lst9 = list.extend('briwen')  # 逐个字母添加元素
print(list)
print(lst9)    # None

a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a)

03 列表中删除元素

list = ['a', 'b', 1, 2, ['c1', 1]]
lst10 = list.remove('a') # 有多个重复的元素时, 只删除第一个
print(list)
print(lst10)  # None

list = ['a', 'b', 1, 2, ['c1', 1]]
lst11 = list.pop()  # pop()不带参数时, 默认删除最后一个元素
print(list)
print(lst11)  # 返回被删除的元素

list = ['a', 'b', 1, 2, ['c1', 1]]
lst12 = list.pop(-1)  # pop()带参数时, 删除指定索引的元素
print(list)
print(lst12)  # 返回被删除的元素

list = ['a', 'b', 1, 2, ['c1', 1]]
del list[-1]  # 删除指定索引的元素
print(list)

04 列表的拷贝

# 列表的浅拷贝, b和a共享同一块内存空间, 所以无论是a或b列表进行了修改, print的结果都会同步改变
a = [1, 2, 3, 4, 5]
b = a
a.append('新增元素a')
b.append('新增元素b')
print(a)
print(b)

# 列表的深拷贝,新列表b会开启新的内存空间,a和b的内存相互独立,print的结果互不影响
a = [1, 2, 3, 4, 5]
b = a[:]
a.append('新增元素aa')
b.append('新增元素bb')
print(a)
print(b)

# 列表的copy拷贝: 深拷贝
a = [1, 2, 3, 4, 5]
b = a.copy()
a.append('新增元素aa')
b.append('新增元素bb')
print(a)
print(b)

# # 列表的deepcopy拷贝, 3.10版本没有deepcopy方法, copy默认是深拷贝(见上)
# a = [1, 2, 3, 4, 5]
# b = a.deepcopy()
# a.append('新增元素aa')
# b.append('新增元素bb')
# print(a)
# print(b)

 

05 列表的排序

# 05 列表的排列
list = [1, 6, 3, 4, 5]
list.sort()  # 默认升序排列
print(list)

list.sort(reverse=False)
print(list)  # 升序排列, 等同于默认情况

list.sort(reverse=True)
print(list)  # 降序排列

list.reverse()
print(list)  # 翻转列表

 06列表的其他操作

lst = ['a', 'b', 1, 2, ['c1', 1], 1, 1, 1]

a = lst.index('a')
print(a)  # 返回元素的索引
b = lst.index('ccc')
print(b)    # 程序报错,  元素不在列表中

cnt = lst.count(1)
print(cnt)  # 返回元素个数
cnt = lst.count(100)
print(cnt)  # 元素不存在时, 返回0

lst.clear()
print(lst, type(lst.clear()))  # 返回空列表, NoneType类型

07 列表的推导式写法 

lst = [['a', '1'], ['b', '2'], ['c', '3'], ['d', '4'], ['e', '5']]
str_list = [i[0] for i in lst]
print(str_list)    # 生成新的列表

str_dict = {i[0]: i[1] for i in lst}
print(str_dict)    # 生成新的字典

str_set = {(i[0], i[1]) for i in lst}
print(str_set)    # 生成新的集合

str_tuple = ((i[0], i[1]) for i in lst)
print(str_tuple)    # 生成新的元组

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值