python 列表 基本数据类型

本文详细介绍了Python中列表的各种操作,包括比较、创建、增加元素、删除元素、元素赋值、统计出现次数、查找元素、排序、清空、反转等。重点讲解了append、extend、insert、pop、remove等方法,以及列表排序的多种方式。此外,还讨论了如何将其他数据类型转换为列表,以及如何通过切片和索引对列表进行修改。
摘要由CSDN通过智能技术生成

列表比较
# 导入 operator 模块
import operator

a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a, b):", operator.eq(a, b))
print("operator.eq(b, c):", operator.eq(b, c))
列表的特点
  1. 有序的,数据顺序排列
  2. 可以存储任意类型的数据,也可以嵌套列表,数据也可以重复
  3. 可变的,可以增删改查
  4. 可以通过索引访问数据,正序和逆序都可,正序从0开始,逆序从-1开始
  5. 每个元素会分配一个单独的位置
其他数据类型转成列表

使用list()方法,对于 字符串,元组,字典,集合,区间…

创建列表
# 基本语法[]创建
list1 = [1, 2, 3, 4]
list1.append(5)

# list()创建
list1 = list()
list1 = list(range(100))
list1 = list('12345abcde')

# range()创建整数列表
# range(start, end, step)
list1 = range(1, 100, 2)
list2 = range(1, 100, -1)

# 推导式生成列表
list1 = [a*2 for a in range(1, 5)]
列表增加元素
# +连接的方式
# 创建新的列表对象,将源列表的元素和新列表的元素依次复制到新的列表对象中,涉及大量的复制操作,对于大量元素不建议使用
list1 = [1, 2, 3]
print(list1 + [4, 5, 6])

# append:追加一个元素到列表中
# 原地修改列表对象,不会创建新的对象,在列表尾部直接追加新的元素,速度最快,推荐使用
list1 = [1, 2, 3]
list1.append(4)
print(list1)

# extend:追加多个元素到列表中
# 将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象
list1 = [1, 2, 3]
list1.extend([4, 5, 6])
print(list1)

# insert:在指定索引位置插入元素
# 插入位置后面的所有元素会进行移动,类似于 remove pop del ,处理非尾部元素时都会发生操作位置后的元素移动
list1 = [1, 2, 3]
list1.insert(1, 4)
print(list1)

# 乘法拓展
# 生成一个新列表
list1 = [1, 2]
list2 = list1 * 3
print(list2)
列表删除元素
# pop:默认弹出最后一个元素
sequence = [1, 2, 3]
sequence.pop()
print(sequence)

# pop():加索引,弹出对应索引位置元素,可以赋值
sequence = [1, 2, 3]
first = sequence.pop(0)
print(first)

# remove:指定删除对象
sequence = [1, 2, 3]
sequence.remove(1)
print(sequence)

# 直接删除整个列表
sequence = [1, 2, 3]
del sequence
print(sequence)

# 清空列表
word = ['A', 'B', 'C']
word.clear()
print(word)
列表元素赋值
# 直接索引赋值
sequence = [1, 2, 3]
sequence[0] = 4
print(sequence)

# 通过切片给部分赋值
sequence = [1, 2, 3]
sequence[:2] = [4, 5]
print(sequence)
统计元素出现次数
sequence = [1, 2, 3, 1]
print(sequence.count(1))
查找元素
# 输出最小索引值
sequence = [1, 2, 3, 1]
print(sequence.index(1))

# 定义范围查询,不取上限
sequence = [1, 2, 3, 1]
print(sequence.index(1, 1, 4))
列表排序
# 按照ASCLL排序,先排序首字母为大写的,再排序首字母是小写的
names = ['alice', 'Bob', 'coco', 'Harry']
names.sort()
print(names) 

# 全部转小写再排序
names.sort(key=str.lower)
print(names) 

# 全部转大写再排序
names.sort(key=str.upper)
print(names)
清空列表
sequence = ["hello", "world", "python", "hello"]
sequence.clear()
print(sequence)
反转列表
requence = ["hello", "world", "python", "hello"]
requence.reverse()
print(requence)

方法总结:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值