列表的相关知识点

一:列表的类型转换

要点:列表类型转换只支持能够for循环的数据类型

# 1.元组
print(list((1, 2, 3, 4, 5)), type(list((1, 2, 3, 4, 5))))
# 运行结果:[1, 2, 3, 4, 5] <class 'list'>

# 2.字符串
print(list('nihao'), type(list('nihao')))
# 运行结果:['n', 'i', 'h', 'a', 'o'] <class 'list'>

# 3.集合
print(list({1, 2, 3, 4, 5}), type(list({1, 2, 3, 4, 5})))
# 运行结果;[1, 2, 3, 4, 5] <class 'list'>

# 4.字典
print(list({'name': 'zhang', 'age': 18}), type(list({'name': 'zhang', 'age': 18})))
# 运行结果:['name', 'age'] <class 'list'>

二:索引取值

l1 = [1, 'zhang', 3, 4, 5, 6, [9, 8, 7]]

# 1.索引取值
print(l1[2])
# 运行结果:3
print(l1[100])  # 超过范围会报错

三.切片取值

# 2.切片取值(和字符串取值的方法一样,只是取到的最单位是一个数据值)
print(l1[:])  # 这个是取到整个列表中的值
# 运行结果:[1, 'zhang', 3, 4, 5, 6, [9, 8, 7]]

print(l1[1:5])  # 1表示开始取值的索引(包含),5表示结束取值的索引(不包含)
# 运行结果:['zhang', 3, 4, 5]

print(l1[-4:-1])  # -4表示开始取值的索引(包含),-1表示结束取值的索引(不包含)
# 运行结果:[4, 5, 6]

print(l1[-1:-4:-1])  # -1表示开始取值的索引(包含),-4表示结束取值的索引(不包含),-1决定取值的方向是从右往左
# 运行结果:[[9, 8, 7], 6, 5]

print(l1[::2])  # 2表示间隔数
# 运行结果:[1, 3, 5, [9, 8, 7]]

四.修改值

l1 = [1, 'zhang', 3, 4, 5, 6, [9, 8, 7]]
l1[6] = 100000
print(l1)

五.增加值

# 方法1:尾部追加元素
new_list.append(2)
print(new_list)
# [0, 2]

# 方法2:插入元素
new_list1 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
new_list1.insert(5, 3)  # 5表示要插入数据值的索引,3是要插入的值
print(new_list1)
# [1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1]
new_list1.insert(100, 3)  # 当索引大于列表当前最大索引时,值会插入到列表最后,而不报错
print(new_list1)
# [1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3]

# 方法3:扩展元素
new_list1.extend([111, 111, 111, 111, 111, 111, 111])  # 会将新的列表的值全部添加都要添加的列表中去
print(new_list1)
# [1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 111, 111, 111, 111, 111, 111, 111]

六.删除值

l1 = [1, 2, 3, 4, 5, 6, 7, 8]
# 方法1:根据索引删除元素
del l1[0]
print(l1)
# [2, 3, 4, 5, 6, 7, 8]

# 2.方法2:通过值移除元素
l2 = [1, 2, 3, 4, 5, 6, 7, 8]
l2.remove(8)
print(l2)
# [1, 2, 3, 4, 5, 6, 7]

# 方法3:通过索引弹出元素
l3 = [1, 2, 3, 4, 5, 6, 7, 8]
print(l3.pop(0))
# 1

七.其他补充方法

# 1.清空列表
l1 = [1, 2, 3, 4, 5, 6]
l1.clear()
print(l1)
# []

# 2.统计元素出现的次数
l1 = [1, 2, 3, 4, 5, 6, 6, 6]
print(l1.count(6))
# 3

# 3.逆转列表
l1 = [1, 2, 3, 4, 5, 6, 6, 6]
l1.reverse()
print(l1)
# [6, 6, 6, 5, 4, 3, 2, 1]

# 4.复制一个新列表
l1 = [1, 2, 3, 4, 5, 6, 6, 6]
l2 = l1.copy()
print(l2)
# [1, 2, 3, 4, 5, 6, 6, 6]

# 5.查找索引(从前往后依次查,查到第一个将不再往下查)
l1 = [1, 2, 3, 4, 5, 6, 6, 6]
print(l1.index(6))  
# 5

# 6.排序
l1 = [4, 1, 6, 9, 3, 10, 7]
# 升序排序
l1.sort(reverse=False)
print(l1)
# [1, 3, 4, 6, 7, 9, 10]


l2 = [4, 1, 6, 9, 3, 10, 7]
# 降序排序
l2.sort(reverse=True)
print(l2)
# [10, 9, 7, 6, 4, 3, 1]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值