当前位置: 首页 > news >正文

python基础:操作列表

一、遍历列表

对每个元素执行相同的操作,使列表中的元素一个一个的输出。

magicians = ['alice', 'david', 'caroline']
for magician in magicians:print(magician)
'''
结果:
alice
david
caroline
'''

在 for 循环中,可以对每个元素执行任意操作。

magicians = ['alice', 'david', 'caroline']
for magician in magicians:print(f"{magician.title()}, that was a great trick!")
'''
结果:
Alice, that was a great trick!
David, that was a great trick!
Caroline, that was a great trick!
'''

二、创建数值列表

1. 使用range()函数

range() :生成一系列的数。

在这个示例中,range() 只打印数 1~4,这是编程语言中常见的差一行为的结果。range() 函数让 Python 从指定的第一个值开始数,并在到达指定 的第二个值时停止,因此输出不包含第二个值(这里为 5)。

for value in range(1,5):print(value)
'''
结果:
1
2
3
4
'''

2. 使用 range() 创建数值列表

list() :将 range() 的结果直接转换为列表。

numbers = list(range(1,11))
print(numbers)'''
结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
'''

使用 range() 函数时,还可指定步长。

在这个示例中,range() 函数从 2 开始数,然后不断地加 2,直到达到或超过终值(11)。

even_numbers = list(range(2,11,2))
print(even_numbers)
# 结果:[2, 4, 6, 8, 10]

创建一个名为 squares 的空列表。接下来,使用 range() 函数让 Python 遍历 1~10 的值。在循环中,计算当前值的平方,并将结果赋给变量 square。然后,将新计算得到的平方值追加到列表 squares 的末尾。循环结束后,打印列表 squares:

squares = []
for value in range(1, 11):square = value**2squares.append(square)
print(squares)
'''
结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]'''

3. 对数值列表执行简单的统计计算

min():求最小值,max():求最大值,sum():求总和

>>> digits=[1,2,4,5,6,7,8] 
>>> min(digits)                                                                                                         
1                                                                                                                       
>>> max(digits)                                                                                                         
8                                                                                                                       
>>> sum(digits)                                                                                                         
33

4. 列表推导式

列表推导式(list comprehension)将 for 循环和创建新元素的代码合并成一行,并自动追加新
元素。

squares = [value**2 for value in range(1,11)]
print(squares)
'''
结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]'''

三、使用列表

1. 切片

使用索引对列表进行切片,如下所示:

输出0-2位置的元素:

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
# 结果:['charles', 'martina', 'michael']

如果没有指定第一个索引,Python 将自动从列表开头开始:

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[:4])
# 结果:['charles', 'martina', 'michael', 'florence']

如果没有指定最后一个索引,Python 将自动结束到最后一个元素:

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[4:])
# 结果:['eli']

负数索引返回与列表末尾有相应距离的元素,因此可以输出列表末尾的任意切片。

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[-3:])
# 结果:['michael', 'florence', 'eli']

2. 遍历切片

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[-3:])
for player in players[:3]:print(player.title())
'''
结果:
Charles
Martina
Michael
'''

3. 复制列表

要复制列表,可以创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
print(my_foods)
print(friend_foods)
'''
结果:
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake']
'''
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
my_foods.append('cannoli')
friend_foods.append('ice')
print(my_foods)
print(friend_foods)'''结果:
['pizza', 'falafel', 'carrot cake', 'cannoli']
['pizza', 'falafel', 'carrot cake', 'ice']
'''

http://www.dtcms.com/a/295964.html

相关文章:

  • 2024年ASOC SCI2区TOP,基于强化学习教与学优化算法RLPS-TLBO+风电场布局优化,深度解析+性能实测
  • 一种宏模板实现方法
  • (实用攻略)Linux操作系统(一)
  • 强制缓存与协商缓存
  • CentOS7 安装 rust 1.82.0
  • C语言转义字符‘\\‘‘ 解析与常见误区
  • 收银系统合作模式全解析:SaaS、私有化部署与开源版选型指南
  • Kylin V10 4070安装nvidia驱动+CUDA+docker安装
  • 循环队列的两种实现
  • Spring AI 系列之二十四 - ModerationModel
  • 每日算法刷题Day52:7.24:leetcode 栈5道题,用时1h35min
  • 前端性能新纪元:Rust + WebAssembly 如何在浏览器中实现10倍性能提升(以视频处理为例)
  • uniapp nvue开发App 横竖屏切换丢失上下文导致 setTimeout和clearTimeout报错
  • [网安工具] 自动化威胁检测工具 —— D 盾 · 使用手册
  • SAP-MM-采购订单批量创建 excel 版
  • 保留5位小数封装一个自定义指令
  • Linux 内核基础统简全解:Kbuild、内存分配和地址映射
  • 10分钟搭建脚手架:Spring Boot 3.2 + Vue3 前后端分离模板
  • Springboot儿童医院问诊导诊系统aqy75(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 使用钉钉开源api发送钉钉工作消息
  • C语言 一文详解常用的字符串操作函数及模拟实现
  • 医疗系统国产化实录:SQL Server国产替代,乙方保命指南
  • DigitalOcean 一键模型部署,新增支持百度开源大模型ERNIE 4.5 21B
  • 集合中Comparable接口和Equals方法的冲突
  • 【Mermaid 离线工具】Mermaid 流程图生成器 - 高清PNG输出,一键生成专业级流程图!
  • 共创养生新时代——2025酵素益生产品展暨中秋滋补选品节即将开启
  • QT6 源(165)模型视图架构里的所有的信号函数概览
  • UNETR++: Delving Into Efficient and Accurate 3D Medical Image Segmentation
  • 深度分析Java内存模型
  • 【全新上线】境内 Docker 镜像状态监控