4、python列表Lists

news/2024/11/28 22:54:10/

列表和你可以用它们做的事情。包括索引,切片和变异!

文章目录

  • 1.列表
    • 1.1索引
    • 1.2切片
    • 1.3列表修改
    • 1.4列表函数
    • 1.5插曲:对象
    • 1.6列表方法
      • 1.6.1列表搜索
    • 1.7Tuples元组

1.列表

Python 中的 List 表示有序的值序列:

In [1]:

primes = [2, 3, 5, 7]

我们可以把其他类型的事情列入清单:

In [2]:

planets = ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']

我们甚至可以列一个清单:

In [3]:

hands = [['J', 'Q', 'K'],['2', '2', '2'],['6', 'A', 'K'], # (Comma after the last element is optional)
]
# (I could also have written this on one line, but it can get hard to read)
hands = [['J', 'Q', 'K'], ['2', '2', '2'], ['6', 'A', 'K']]

列表可以包含不同类型的变量:

In [4]:

my_favourite_things = [32, 'raindrops on roses', help]
# (Yes, Python's help function is *definitely* one of my favourite things)

1.1索引

可以使用方括号访问单个列表元素。

哪个行星离太阳最近? Python 使用从零开始的索引,因此第一个元素的索引为0。

In [5]:

planets[0]

Out[5]:

'Mercury'

下一个最近的星球是什么?

In [6]:

planets[1]

Out[6]:

'Venus'

哪个行星离太阳最远?

列表末尾的元素可以用负数访问,从 -1开始:

In [7]:

planets[-1]

Out[7]:

'Neptune'

In [8]:

planets[-2]

Out[8]:

'Uranus'

1.2切片

前三颗行星是什么? 我们可以通过切片来回答这个问题:

In [9]:

planets[0:3]

Out[9]:

['Mercury', 'Venus', 'Earth']

planets[0:3] 是我们询问从索引 0 开始并一直到 但不包括 索引 3 的方式。

起始和结束索引都是可选的。如果省略起始索引,则假定为 0。因此,我可以将上面的表达式重写为:

In [10]:

planets[:3]

Out[10]:

['Mercury', 'Venus', 'Earth']

如果我省略了结束索引,它被假定为列表的长度。

In [11]:

planets[3:]

Out[11]:

['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']

也就是说,上面的表达意思是“给我从索引3开始的所有行星”。

我们还可以在切片时使用负指数:

In [12]:

# All the planets except the first and last
planets[1:-1]

Out[12]:

['Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus']

In [13]:

# The last 3 planets
planets[-3:]

Out[13]:

['Saturn', 'Uranus', 'Neptune']

1.3列表修改

列表是“可变的”,这意味着它们可以“就地”修改。

修改列表的一种方法是为索引或片表达式赋值。

例如,假设我们想重命名火星:

In [14]:

planets[3] = 'Malacandra'
planets

Out[14]:

['Mercury','Venus','Earth','Malacandra','Jupiter','Saturn','Uranus','Neptune']

嗯,这是相当拗口。让我们通过缩短前三个行星的名称来补偿。

In [15]:

planets[:3] = ['Mur', 'Vee', 'Ur']
print(planets

http://www.ppmy.cn/news/1324115.html

相关文章

几款优秀科学开源计算软件介绍

有一些比较优秀的软件,它们在科学计算、数据处理和分析方面具有广泛的应用和功能。以下是一些比较知名的软件: SciPy:SciPy是一个非常流行的科学计算库,提供了大量的数学函数和算法,用于解决各种科学问题。它支持多种操…

未来科技五年人工智能行业产业发展趋势最新竞争力

人工智能(Artificial Intelligence,AI)是近年来快速发展的热门领域,被广泛应用于各个行业。随着技术的不断创新和突破,人工智能行业的竞争力也在不断提升。本文将分析未来科技五年人工智能行业产业发展趋势&#xff0c…

【机组】通用寄存器单元实验的解密与实战

​🌈个人主页:Sarapines Programmer🔥 系列专栏:《机组 | 模块单元实验》⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 ​ 目录 🌺一、 实验目…

【Java万花筒】邮件轻松搞定:发掘Java电子邮件处理宝库

Java邮件魔法书:探秘电子邮件处理的五大神器 前言 在当今数字化时代,电子邮件成为人们日常沟通和业务交流的重要工具。Java开发者在处理电子邮件时,面临着多种选择。本文将介绍一系列强大的Java库,用于简化和优化电子邮件的发送…

农用拖拉机市场调研:预计2029年将达到171亿美元

由于近些年来新兴市场的迅速崛起和技术创新的不断涌现,全球农用拖拉机市场的竞争也日趋激烈。生产商不仅需要提供质量可靠的产品,还需要提供良好的售后服务以赢得客户的信赖。 农业是支撑国民经济建设与发展的基础产业,而农业机械化是建设现代…

第90讲:MySQL数据库主从复制集群原理概念以及搭建流程

文章目录 1.MySQL主从复制集群的核心概念1.1.什么是主从复制集群1.2.主从复制集群中的专业术语1.3.主从复制集群工作原理1.4.主从复制中的小细节1.5.搭建主从复制集群的前提条件1.6.MySQL主从复制集群的架构信息 2.搭建MySQL多实例环境2.1.在mysql-1中搭建身为主库的MySQL实例2…

yolov5数据增强避免目标残缺的代码处理

在训练小目标检测的时候,yolov5数据常用的增强会导致目标残缺,特别是对文字目标进行检测的时候,增强导致文字目标残缺后,训练出的模型常常会出现误检,将部分笔画检测出文字;所以就对目标中的数据增强后的结果做了合适的处理: 替换代码包括(utils/datasets.pyutils/dat…