列表和元组(更新后)

列表

列表的操作

1.2种方式创建:[]内以逗号分隔,存放各种数据类型;list传参

n=[1,1,2,3,4,6,6,6,7,8,'shanhhai',[1,1,2,3,5]]

在这里插入图片描述
可将任何序列(而不仅仅是字符串)作为list的参数

2.索引:从0开始,反向从-1开始
在这里插入图片描述

3.返回索引值:从左至右第一个指定元素索引

n.index(1)

4.切片:从左往右切,不然返回空列表 [],切片元素含左不含右。可以根据一定步长切片。

n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(n[0:1], n[-3:-1], n[-3:], n[:3])
# [1] [8, 9] [8, 9, 10] [1, 2, 3]
print(n[0:10:1])
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

在这里插入图片描述
在这里插入图片描述
5.统计元素个数:count

n.count(1)

6.列表长度:len
在这里插入图片描述

7.依次扩充 append,指定位置靠左插入:insert
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8.修改:可以直接赋值修改,可以批量切片修改,注意元素个数一致。
使用切片赋值,可将切片替换为长度与其不同的序列。
切片修改元素为字符串时,超过两个位置会拆分字符串,挤占位置。

n[3]='rt'
n[3:5]=9,8
n[3:5]=9  #报错

n=[1,1,2,3,4,6,6,6,7,8]
n[3:5]='m'
[1, 1, 2, 'm', 6, 6, 6, 7,8]

n=[1,1,2,3,4,6,6,6,7,8]
n[3:5]='mchine'
[1, 1, 2, 'm', 'c', 'h', 'i', 'n', 'e', 6, 6, 6, 7, 8]

在这里插入图片描述
9.删除:方法pop从列表中删除一个元素(末尾为最后一个元素),并返回
这一元素。pop是唯一既修改列表又返回一个非None值的列表方
法。
指定元素从左开始删除第一个,remove,remove是就地修改且不返回值的方法之一。不同于pop的是,它修改列表,但不返回任何值。批量删除del
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
10.翻转:reverse
在这里插入图片描述
11.排序:sort
在这里插入图片描述

方法sort用于对列表就地排序 。就地排序意味着对原来的列表进
行修改,使其元素按顺序排列,而不是返回排序后的列表的副本。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
高级排序
方法sort接受两个可选参数:key和reverse
在这里插入图片描述
在这里插入图片描述
12.复制
在这里插入图片描述
在这里插入图片描述

列表枚举:enumerate

n=[1,1,2,3,4,6,6,6,7,8]
for index,i in enumerate(n):
    print(index,i)

0 1
1 1
2 2
3 3
4 4
5 6
6 6
7 6
8 7
9 8

列表遍历

x = ['aardvark', 'abalone', 'acme', 'add', 'aerate']
for i in x:
    print(i)

元组

与列表一样,元组也是序列,唯一的差别在于元组是不能修改的

在这里插入图片描述
在这里插入图片描述

### Python 列表元组的区别 #### 1. 可变性 列表是可变的数据结构,允许在运行时修改、添加或删除元素。例如,可以使用 `append()` 方法向列表中添加元素,或者使用 `del` 关键字删除元素[^2]。 ```python my_list = [1, 2, 3] my_list[0] = 10 # 修改第一个元素 my_list.append(4) # 添加元素4 del my_list[1] # 删除第二个元素 print(my_list) # 输出: [10, 3, 4] ``` 而元组是不可变的数据结构,一旦创建后无法修改其内容。这种不可变性使得元组更适合用于存储不需要更改的数据[^1]。 #### 2. 性能 由于元组的不可变性,Python 内部对元组进行了优化,使其在存储访问上比列表更高效。如果数据序列不需要修改,则推荐使用元组以获得更好的性能[^1]。 #### 3. 使用场景 列表适用于需要频繁修改的数据集合,例如动态数组或需要不断更新的队列。而元组适用于存储固定不变的数据集合,例如配置项或常量值[^1]。 #### 4. 语法定义 列表使用方括号 `[]` 定义,而元组使用圆括号 `()` 定义。尽管单个元素的元组可以省略括号,但为了清晰起见,通常建议显式地使用括号。 ```python my_list = [1, 2, 3] # 列表定义 my_tuple = (1, 2, 3) # 元组定义 single_element_tuple = (1,) # 单元素元组定义 ``` #### 5. 方法支持 列表提供了丰富的内置方法来操作数据,例如 `append()`、`extend()`、`insert()`、`remove()` `pop()` 等[^2]。而元组由于不可变性,仅支持少量方法,如 `count()` `index()`。 ```python my_list = [1, 2, 3] my_list.append(4) # 列表支持追加元素 print(my_list.count(2)) # 列表元组都支持 count() 方法 my_tuple = (1, 2, 3) print(my_tuple.index(2)) # 元组支持 index() 方法 ``` #### 6. 内存占用 由于元组的不可变性,Python 在实现上可以对其进行优化,从而减少内存占用。相比之下,列表需要额外的空间来支持动态调整大小的操作[^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值