Python学习2

本文从网上获得,如有侵权,联系删除

列表与元组的区别:

可变性:列表是可变的,可以动态添加、删除或修改元素。 元组是不可变的,一旦创建,其内容无法更改。

性能与内存:元组的创建速度比列表快,且占用的内存更少。这是因为元组的不可变性使其优化了内存分配。

使用场景:列表适用于需要频繁修改的数据,例如动态数组或待办事项列表。 元组适用于固定不变的数据,例如坐标点、配置文件或函数返回值。

1. 列表

  • 1.1 访问列表中的值
  • 1.2 修改/删除/添加元素
  • 1.3 列表中的常用操作
  • 1.4 列表中的常用函数
python 复制代码
# 1.1 访问列表中的值 索引从0开始
name = ['Tim','Kris','Sam']

# 1.1.1 访问列表中的第一个值
print('访问列表中的第一个值:',name[0])
>>> 访问列表中的第一个值: Tim
# 1.1.2 访问第二个以后所有值
print('访问列表中的第一个值:',name[1:])
>>> 访问列表中的第一个值: ['Kris', 'Sam']
# 1.1.3 访问所有值
print('访问所有值:',name)
>>> 访问所有值: ['Tim', 'Kris', 'Sam']
# 1.1.4 访问倒数第一个
print('访问倒数第一个:',name[-1])
>>> 访问倒数第一个: Sam
python 复制代码
# 1.2 修改/删除/添加元素
# 1.2.1 修改元素
name[2] = 'sb'
print('修改第3个位置的元素后:',name[2])
>>> 修改第3个位置的元素后: sb
python 复制代码
# 1.2.2 删除元素
# 删除任意位置的元素 del()函数
print('删除元素前:',name)
>>> 删除元素前: ['Tim', 'Kris', 'sb']
del name[1]
print('删除第2个元素后:',name)
>>> 删除第2个元素后: ['Tim', 'sb']
python 复制代码
# 删除最后一个元素 pop()函数
print('删除元素前:',name)
>>> 删除元素前: ['Tim', 'sb']
name.pop()
print('删除最后一个元素后:',name)
>>> 删除最后一个元素后: ['Tim']
python 复制代码
# 1.2.3 添加元素
# 在任意位置添加元素 insert()函数
print('添加元素前:',name)
>>> 添加元素前: ['Tim']
name.insert(1,'Kris')
print('在第1个位置添加元素后:',name)
>>> 在第1个位置添加元素后: ['Tim', 'Kris']
python 复制代码
# 在最后一个位置添加元素 append()函数
print('添加元素前:',name)
>>> 添加元素前: ['Tim', 'Kris']
name.append('Sam')
print('添加在最后一个位置后:',name)
>>> 添加在最后一个位置后: ['Tim', 'Kris', 'Sam']
python 复制代码
# 1.3 列表中的常用操作
list1 = [1,2,3]
list2 = [4,5,6]
list3 = [1]

# 列表的+操作
print("两个列表相加后:",list1+list2)
>>> 两个列表相加后: [1, 2, 3, 4, 5, 6]
python 复制代码
# 列表的*操作
print('列表所有元素x3:',list3*3)
>>> 列表所有元素x3: [1, 1, 1]
python 复制代码
# 列表的in, 判断元素是否在列表中
print('2是不是list1的元素:',2 in list1)
>>> 2是不是list1的元素: True
python 复制代码
# for ... in 列表的遍历
for x in list1:
    print(x)
>>> 1
>>> 2
>>> 3
python 复制代码
# 1.4 列表中常用的函数

# 获得列表的长度 len()函数
print('输出函数长度:',len(list1))
>>> 输出函数长度: 3
# 获得列表中的最大值 max()函数
print('列表中的最大值:',max(list1))
>>> 列表中的最大值: 3
# 获得列表中的最小值 min()函数
print('列表中的最小值:',min(list1))
>>> 列表中的最小值: 1
python 复制代码
# 永久排序方法 sort()
list4 = [2,3,1,5]
list4.sort()
print('排序后的list4:',list4)
>>> 排序后的list4: [1, 2, 3, 5]
python 复制代码
# 暂时排序方法 sorted()
list5 = [3,5,2,6,1]
print('暂时排序的结果:',sorted(list5))
>>> 暂时排序的结果: [1, 2, 3, 5, 6]
print('排序后原列表:',list5)
>>> 排序后原列表: [3, 5, 2, 6, 1]
python 复制代码
# reverse=True参数 逆序排序
print('暂时逆序排序的结果:',sorted(list5,reverse=True))
>>> 暂时逆序排序的结果: [6, 5, 3, 2, 1]

2. 元组

  • 2.1 定义元组
  • 2.2 访问/修改/删除元组
python 复制代码
# 2.1 定义元组
t = (1,2)
print(t)
>>> (1, 2)
python 复制代码
# 空元组
p = ()
print(p)
>>> ()
python 复制代码
# 元组是不可修改的
t[0] = 2
>>> TypeError
>>> Traceback (most recent call last)
>>> <ipython-input-46-0c6697a06bab> in <module> 
>>> ----> 1 t[0] = 2
>>> TypeError: 'tuple' object does not support item assignment
python 复制代码
# 2.2 访问/修改/删除元组

# 访问
print('访问第一个元素:',t[0])
>>> 访问第一个元素: 1
# 修改是非法的 但是可以创建新的元组
t1 = (1,2,3)
t2 = (4,5)
print('拼接两个元组:',t1+t2)
>>> 拼接两个元组: (1, 2, 3, 4, 5)
python 复制代码
# 删除
print('t2删除前:',t2)
>>> t2删除前: (4, 5)
del t2
# 删除后 就不存在了
print('t2删除后:',t2)
>>> NameError
>>> Traceback (most recent call last)
>>> <ipython-input-54-180cf0a61efb> in <module>
>>> ----> 1 print('t2删除后:',t2)
>>> NameError: name 't2' is not defined
相关推荐
楚山之石1 小时前
【JCO】mpMRI 先行替代 TURBT 初始分期:BladderPath 随机试验让 MIBC 患者提前 45 天得到正确治疗
人工智能·学习·mri·医学影像
羲云网络3 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
Peter-OK4 小时前
PostgreSQL学习笔记(入门-进阶-精通说明)
笔记·学习·postgresql
承渊政道5 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
橙橙笔记6 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
小小张说故事6 小时前
Python 的 class 语句到底执行了什么?拆开 __prepare__、metaclass.__new__ 和那个被讲反的 __set_name__ 顺序
python
天天被压力8 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力8 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
特立独行的猫A9 小时前
AI 时代,我为什么推荐用 cj-tauri 开发桌面应用
java·后端·python
小lo想吃棒棒糖9 小时前
把机器人训练从 GPU 搬到昇腾 NPU:启元 Q1 起身动作 PPO 训练全记录
python·机器人·昇腾·启元机器人