列表(Python)

目录

列表元素的合并、重复、判断

列表切片

向列表中添加元素

从列表中删除元素

列表的翻转和排序

多维列表

列表生成式


列表元素的合并、重复、判断

(1) 合并 使用 ➕ 号

list1 = ['苹果', '西瓜', '香蕉', '菠萝']
list2 = [1, 2, 3, True, "你好"]
list3 = list1 + list2
print(list3)    # ['苹果', '西瓜', '香蕉', '菠萝', 1, 2, 3, True, '你好']

(2)重复输出列表中的元素 使用 *

list1 = [1, 2, 3]
list2 = list1 * 3
print(list2)    # [1, 2, 3, 1, 2, 3, 1, 2, 3]

(3)判断某个元素是否在列表中,使用 in 或 not in 实现

list1 = [1, 2, 3, 4, 5]
if 3 in list1:
    print(True)
else:
    print(False)
# 运行结果: True
list1 = [1, 2, 3, 4, 5]
if 8 not in list1:
    print(True)
else:
    print(False)
# 运行结果: True

列表切片

# 语法: 列表名[起始下标:结束下标:步长]
# 注意:截取的范围包含开始下标对应的元素,但是不包含结束下标对应的元素

(即:包头不包尾

list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list1[1:4])   # [1, 2, 3]     截取指定范围的元素
print(list1[2:])    # [2, 3, 4, 5, 6, 7, 8, 9]   若未设置结束下标,会从开始下标一直截取到最后
print(list1[:5])    # [0, 1, 2, 3, 4]   若未设置起始下标,默认从第一个元素开始截取到结束下标对应的位置

print(list1[-3:])   # [7, 8, 9]    下标使用负数情况
print(list1[::-1])  # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]  列表反转

向列表中添加元素

(1)append()

向列表中添加单个元素    一般用于尾部添加

list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list1.append(10)
print(list1)    # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

(2)extend()

向列表中添加多个元素
追加的元素一般以列表的形式传递

list1 = [0, 1, 2, 3, 4, 5]
list1.extend([ 6, 7, 8, 9])
print(list1)    # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

(3)insert(插入的位置,插入的元素值) 向列表的某个位置插入元素

list1 = [0, 1, 2, 3, 4, 5]
list1.insert(1,8)
print(list1)    # [0, 8, 1, 2, 3, 4, 5]

从列表中删除元素

(1)pop()

# 默认删除列表中的最后一个元素
# 若传递参数,则删除指定下标的元素,返回的是原列表

list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
list1.pop()
print(list1)  # ['a', 'b', 'c', 'd', 'e', 'f']
list1.pop(3)
print(list1)    # ['a', 'b', 'c', 'e', 'f']

(2)remove() 传输的参数是删除的元素

list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
list1.remove('c')
print(list1)    # ['a', 'b', 'd', 'e', 'f', 'g']

(3)clear() 清空列表

list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
list1.clear()
print(list1)    # []

列表的翻转和排序

(1)reverse() 

翻转原列表中的元素,不会生成新列表

list1 = [5, 7, 2, 9, 7, 0, 1]
list1.reverse()
print(list1)    # [1, 0, 7, 9, 2, 7, 5]

(2)sort()

对原列表元素进行排序,默认是升序

list1 = [5, 7, 2, 9, 7, 0, 1]
list1.sort()
print(list1)    # [0, 1, 2, 5, 7, 7, 9]

降序排序 ,函数中传入reverse=True

list1 = [5, 7, 2, 9, 7, 0, 1]
list1.sort(reverse=True)
print(list1)    # [9, 7, 7, 5, 2, 1, 0]

(3)sorted()

对列表进行排序,默认升序,会将排序的结果生成一个新的列表

list1 = [5, 7, 2, 9, 7, 0, 1]
list2 = sorted(list1)
print(list2)    # [0, 1, 2, 5, 7, 7, 9]

降序,需要在sorted()中传入reverse=True

list1 = [5, 7, 2, 9, 7, 0, 1]
list2 = sorted(list1,reverse=True)
print(list2)    # [9, 7, 7, 5, 2, 1, 0]

根据元素的长度进行排序

list1 = ['hello', 'haha', 'a', 'jiayougan']
list2 = sorted(list1, key=len)
print(list2)    # ['a', 'haha', 'hello', 'jiayougan']

多维列表

list1 = [12, 345, 768, [False, 'hao', ['are', 'you'], 123, 545], True, 'you are pig']
print(list1[2])     # 768
print(list1[3][1])  # hao
print(list1[3][2][1])   # you

列表生成式

# 需求:生成1-10之间的整数的一个列表


# 用range()函数生成一个序列
# 再用list()函数将生成的数转换成列表
list1 = list(range(1, 11))
print(list1)    # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 # 需求: 生成列表[4,9,16,25,36,49]


# 方式1:(原始方法)
list1 = []  # 定义一个空列表,用于接收生成的数据
for i in range(2, 8):
    list1.append(i ** 2)
print(list1)

# 方法2:通过列表生成式生成
list1 = [i**2 for i in range(2, 8)]
print(list1)

# 需求:使用列表生成式的方式生成1-10之间的奇数

list1 = [i for i in range(1,11,2)]    # 步长为2
print(list1)    # [1, 3, 5, 7, 9]
# 或者
list1 = [i for i in range(1,11,2) if i % 2 == 1]
print(list1)    # [1, 3, 5, 7, 9]

列表生成式中使用双重循环

list1 = [i + j for i in 'xyz' for j in '123']
print(list1)    # ['x1', 'x2', 'x3', 'y1', 'y2', 'y3', 'z1', 'z2', 'z3']

# 注意:列表生成式一般用于逻辑简单的列表的生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值