二、列表和元组

本文详细介绍了Python中的列表和元组。对于列表,涵盖了遍历、获取、添加、插入、修改和删除元素的方法,以及pop()、sort()、列表分片和列表推导式等操作。元组部分讨论了其性质,如默认类型、标志性符号及不可变性,并提及元组的内置函数。此外,文章还讲解了列表、元组和字符串之间的相互转化,以及Python中的负数索引概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、列表

1.列表的常用方法

设列表的名称为member:

  • 遍历列表

for each in member:
    print(each)
  • 获取元素

member[索引值] # 索引值从0开始
  • 添加元素

member.append(要添加的元素) # 每次只能添加一个元素,被添加的元素自动添加到列表末尾
member.extend([元素1,元素2]) # 以列表的形式追加新元素到原列表,每次可以添加多个元素,被添加的元素自动添加到列表末尾
  • 插入元素

member.insert(a,b) # a表示要追加的位置,b表示被插入的元素
  • 修改元素

>>> member = [1,[1,2,['hello world']],3,5,8,13,18]
>>> member[1][2][0] = 'hello_world'
>>> member
[1, [1, 2, ['hello_world']], 3, 5, 8, 13, 18]
  • 删除元素

#1 
member.remove('元素名')
#2 
del member[索引值]
#删除整个列表 
del member

#弹栈,用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
member.pop(索引值)

pop()方法实例

>>> member = [123, 'xyz', '我爱中国', 'abc']
 # 不同于C语言,python列表数据可以是混合类型
>>> print("A list:", member.pop())
A list: abc
>>> print("B list:", member.pop(2))
B list: 我爱中国
>>> print(member)
[123, 'xyz']

从列表的末尾取出一个元素,并将这个元素插入到列表的最前面:

member.insert(0,member.pop())
  • 列表分片(slice)

member[1:3] # 原列表中索引值1~3的元素组成新的列表
member[1:] # 索引值从1开始到最后一个元素
member2 = member[:] # 列表的拷贝
member[0:9:2] # 索引从2~8,跨步2取数(步长不能为0,但可以为负)
member[::-1] # 原列表翻转
member[0:1] # 返回一个只含有第0个元素的列表
  • 列表排序

member.sort() # 顺序排序
member.sort(reverse=True) # 逆序排序
member.reverse()

2.列表其他内置方法

  • copy() 和 clear() 方法实例

list1 = [1,[1,2,['我爱中国']],3,5,8,13,18]
list2 = list1.copy()
list1.clear()
print('list1:', list1)
print('list2:', list2)
# 运行结果
list1: []
list2: [1, [1, 2, ['我爱中国']], 3, 5, 8, 13, 18]
  • 列表推导式(列表解析)

可以用来动态地创建列表,语法:[有关A的表达式  for A in B]

# 分别打印0~9各个数的平方,并存在了列表里
>>> list1 = [x**2 for x in range(10)]
>>> print('list1:', list1)
list1: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

2.3方法列表

方法含义
count()计算并返回指定元素的数量,同样适用于元组
index(目标,起始位置,截止位置)返回参数在列表中的位置,同样适用于元组
reverse()翻转列表
sort()对列表成员从小到大排序
sort(reverse=True)对列表成员从大到小排序
operator.eq(list1,list2)比较两个列表的元素(需import operator)
len(list1)计算列表元素的个数
max(list1)返回列表中元素最大值
min(list1)返回列表中元素最小值
list(tuple1)将元组转换为列表

二、元组

1.元组的性质

所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合,默认的类型都是元组 例如

x, y, z = 1, 2, 3

元组的标志性符号不是小括号,而是逗号;在拼接只有一个元素的元组的时候,逗号和小括号必须同时存在,缺一不可。

>>> temp = ('如果', '我是', '流浪', '云朵')
>>> temp = temp[:2] + ('天边',) +  temp[2:]
>>> temp
('如果', '我是', '天边', '流浪', '云朵')

元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组(python回收机制会在元组不再被使用到时自动删除)。

2.元组的内置函数

方法含义
operator.eq(temp1, temp2)比较两个元组的元素(需import operator)
len(temp1)计算元组中元素个数
max(temp1)返回元组中元素最大值
min(temp1)返回元组中元素最小值
tuple(list1)将列表转换为元组

 

 

 

 

 

 

 

三、其他

1.list、tuple、str之间的相互转化

# tuple to str

>>> a = ('hello', 'world', 'python')
>>> b = ' '.join(a)
>>> type(b)
<class 'str'>
>>> b
'hello world python'
# str to list

# 通过内置函数list()强制转换
>>> a = 'hello world'
>>> list(a)
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
>>> list(a.split(' '))
['hello', 'world']


# 手动转换
>>> a = 'hello world'
>>> b = []
>>> for s in a:
	b.append(s)
print(b)
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

2.python的负数索引

正常下标012
列表内容132
负数下标-3-2-1

 

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛江清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值