Python 列表和元组知识点

1.列表

  • 列表可以索引、切片、步长操作
li = [100, 'amw', True, 6668, 'kvi', [1, 'abc', 90, '12a'], False]
# 索引
print(li[0])
print(li[5][1])
# 切片,遵循“顾头不顾腚”原则
print(li[:3])
print(li[2:5])
print(li[-3:-6:-1])
print(li[::-2])
# 运行结果
100
abc
[100, 'amw', True]
[True, 6668, 'kvi']
['kvi', 6668, True]
[False, 'kvi', True, 100]

列表的创建

  • 方式一:
li = [1, 2, 'abc']
  • 方式二:
li = list()             # 创建一个空列表
li = list('amwkvi')     # 创建列表内容为['a','m','w','k','v','I']
  • 方式三:列表推导式
list1 = [i for i in range(10)]
print(list1)		# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list2 = [i for i in 'range(10)']
print(list2)		# ['r', 'a', 'n', 'g', 'e', '(', '1', '0', ')']

列表元素的增加,常用三个方法

  • list.append('元素')方法:在列表的最后增加一个元素

  • list.insert(索引,'元素')方法:在列表的指定位置插入元素

  • 迭代追加,list.extend('字符串'):在列表的最后迭代增加数个元素

li = [23, 4, 'ab', True]
li.extend('soft')               # 迭代追加是以最小元素为单位
print(li)
li.extend(['soft', 99, False])  # 最小单位是列表中的元素
print(li)
# 运行结果
[23, 4, 'ab', True, 's', 'o', 'f', 't']
[23, 4, 'ab', True, 's', 'o', 'f', 't', 'soft', 99, False]

列表元素的删除

  • list.pop()方法:默认删除列表中最后一个元素,也可按照索引位置删除指定元素,并将删除的元素返回。
li = [23, 4, 'ab', True]
print(li.pop(-2))			# 直接将返回值输出
>>>ab
  • list.remove()方法:删除指定元素,如有重名元素,则删除重名的第一个。
li = [23, 4, 'ab', True,'ab']
li.remove('ab')
print(li)
>>>[23, 4, True, 'ab']
  • list.clear()方法:清空列表

  • del 指令:按照索引(切片)删除对应元素

li = [23, 4, 'ab', True,'ab',False,'amw',35,100,'kvi']
# 按照索引删除指定元素
del li[3]
print(li)
# 按照切片(步长)删除几个元素
del li[1::2]
print(li)
>>>[23, 4, 'ab', 'ab', False, 'amw', 35, 100, 'kvi']
   [23, 'ab', False, 35, 'kvi']

对列表元素的修改

  • 直接按照索引序号对元素进行修改。
li = [23, 4, 'ab', True]
li[0]='tree'
print(li)
>>>['tree', 4, 'ab', True]
  • 按照切片(步长)对几个元素进行修改
li = [23, 4, 'ab', True,'ab',False,'amw',35,100,'kvi']
li[3:]='abcdefghijk'		# 从索引序号为3的位置开始对列表进行迭代修改
print(li)
>>>[23, 4, 'ab', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']

li = [23, 4, 'ab', True, 'ab', False, 'amw', 35, 100, 'kvi']
li[1::2] = ['1', 43, '*&%', 'qwr',888]		# 加了步长需应对修改元素个数
print(li)
>>>[23, '1', 'ab', 43, 'ab', '*&%', 'amw', 'qwr', 100, 888]

对列表元素的查询

  • 可以使用索引,切片(步长)
  • 使用遍历for循环

2.列表的嵌套

举个例子

lis = [2, 30, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# 将列表lis中的"tt"变成大写(用两种方式)。
# lis[3][2][1][0] = 'TT'
lis[3][2][1][0] = lis[3][2][1][0].upper()

# 将列表中的数字3变成字符串"100"(用两种方式)。
# lis[3][2][1][1] = str(lis[3][2][1][1]+97)
lis[3][2][1][1] = '100'

# 将列表中的字符串"1"变成数字101(用两种方式)。
# lis[3][2][1][2] = int(lis[3][2][1][2])+100
lis[3][2][1][2] = 101

print(lis)
>>>[2, 30, 'k', ['qwe', 20, ['k1', ['TT', '100', 101]], 89], 'ab', 'adv']

3.元组

元组:是一种只读列表,存放大量数据,可以索引、切片(步长)、遍历。

  • 格式:tupe1 = (100,‘python’,True,[1,2,3])
tupe1 = (100, 'python', True, [1, 2, 3])
print(len(tupe1))       # 可以用len()方法获取元组里成员个数
print(tupe1[1])         # 直接按索引号打印元组里的数据
for t in tupe1:
    print(t)            # 用遍历的方法打印元组里的所有成员信息
# 元组里包含有列表的情况下,可以对列表里的成员进行修改
tupe1[3][0] = 666       
del tupe1[3][1]

元组的应用

  • 元组用于拆包,分别赋值。
a,b = 1,2
print(a,b)
>>>1 2
  • 元组用于存放一些定义之后允许改变的固定数据:身份证号、用户名、密码之类

图片分享

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Jo_Francis/article/details/125272247