搜索
首页后端开发Python教程列表、元组、字符串是python的什么序列?
列表、元组、字符串是python的什么序列?Aug 29, 2020 pm 04:20 PM
python元组列表字符串

列表、元组、字符串是python的有序序列;其中列表是可变对象,元组和字符串则是不可变对象。序列中的每个元素都分配一个数字,即它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

列表、元组、字符串是python的什么序列?

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表、元组、字符串是python的有序序列;其中列表是个可变对象,元组和字符串则是不可变对象。

列表(list)

列表是包含0个或多个对象引用的有序序列,支持与字符串以及元组一样的分片与步距语法。与字符串以及元组不同的是,列表是可变的,因此,我们可以对列表中的项机芯删除或替换,插入、替换或删除列表中的分片。

list数据类型可以作为函数进行调用,list()--不带参数进行调用是将返回一个空列表;带一个list参数时,返回该参数的浅拷贝;对任意其他参数,则尝试将给定的对象转换为列表。该函数值接受一个参数的情况。列表也可以不使用list()函数创建,空列表可以使用空的方括号来创建,包含一个或多个项的列表则可以使用逗号分隔的数据项(包含在[]中)序列来创建。

列表提供的方法:

1.png

任意可迭代的(列表、元组等)数据类型都可以使用序列拆分操作符进行拆分,即:* 。用于赋值操作符左边的两个或多个变量时,其中的一个使用*进行引导,数据项将赋值给该变量,而所有剩下的数据项将赋值给带星号的变量,下面给出一些实例:

2.png

以这种方式使用序列拆分操作符时,表达式*rest以及类似的表达式称为带星号的表达式。

python还有一个相关的概念:带星号的参数。

3.png

对列表中的数据项,科研在其上进行迭代处理,使用的语法格式是 for item in L:。如果需要改列表中的数据项,那么使用的惯用方法如下:

for i in range(len(L)):
L[i] = process(L[i])

  由于列表支持分片,因此在几种情况下,使用分片或某种列表方法可以完成同样的功能,如:给定列表woods=['Cedar','Yew','Fir'],我们可以以如下的两种方式扩展列表:

woods+=['Kauri','Larch']    | woods.extend(['Kauri','Larch'])

   对上面两种方法,所得结果都是列表['Cedar','Yew','Fir','Kauri','Larch']。

  使用list.append()方法,可以将单个数据项添加到列表尾部。使用list.insert()方法(或者赋值给一个长度为0的分片),可以将数据项插入到列表内的任何索引位置。比如,给定列表woods=['Cedar','Yew','Fir','Spruce'],我们可以在索引位置2处插入一个新的数据项(也就是作为该列表的第三项),下面两种方法均可以实现:

woods[2:2] = ['Pine'] |  woods.insert(2,'Pine')

   上面两种方法所得的结果都是列表['Cedar','Yew','Pine','Fir','Spruce'].

   通过对特定索引位置处的对象进行赋值,可以对列表中的单个数据项进行替换,比如,woods[2]='Redwood'。通过将iterable赋值给分片,可以替换整个分片,比如,woods[1:3]=['Spruce','Sugi','Rimu'],并且分片月iterable并不必须是等长的。在所有这些情况下,都会删除分片的数据项,并插入iterable的数据项。如果iterable包含的项数比要替代的分片包含的项数少,那么这一操作会使类别变短;反之,则使得列表变成。如下例子:

4.png

 对于复杂的列表,可以使用for...in 循环创建,如,假定需要生成给定时间范围内的闰年列表,可以使用如下语句:

 leaps = []
 for year in range(1900,1940):
  if (year%4 == 0 and year %100 !=0) or (year % 400 ==0):
    leaps.append(year)

两种表达式:

expression for item in iterable
    expression for item in  iterable if condition

元组(tuple)

元组是个有序的序列,其中包含0个或多个对象引用。元组支持与字符串一样的分片与步距的语法,这使得从元组中提取数据项比较容易。元组也是固定的,不能替换或删除其中包含的任意数据项。如果需要修改有序序列,我们应该使用类别而非元组。如果要对元组进行修改,可以使用list()转换函数将其转换为列表,之后在产生的列表之上进行适当修改。

tuple数据类型可以作为一个函数进行调用,tuple()---不指定参数时将返回一个空元组,使用tuple作为参数时将返回该参数的浅拷贝,对其他任意参数,将尝试把给定的对象转换为tuple类型。该函数最多只能接受一个参数。元组也可以使用tuple()函数创建,空元组是使用空圆括号()创建的,包含一个或多个项的元组则可以使用逗号分隔进行创建。

元组只提供了两种方法:t.count(x),返回对象x在元组中出现的次数;t.index(x),返回对象在元组t中出现的最左边位置。

元组可以使用操作符+(连接)、*(赋值)与 [](分片),要可以使用in 与not in 来测试成员关系。

下面给出几个分片实例:

5.png

上面这些处理过程对字符串、列表以及人员其他序列类型都是一样的

6.png

要构成一个亿元组,逗号是必须的,这里red字符串地方我们必须同时使用逗号与圆括号。

      1.1 命名的元组

       命名的元组与普通元组一样,有相同的表现特征,其添加的功能就是可以根据名称引用元组中的项,就像根据索引位置一样,这一功能使我们可以创建数据项的聚集。

       collections 模块提供了 namedtuple()函数,该函数用于创建自定义的元组数据类型,例如:

7.png

  collections.namedtuple()的第一个参数是想要创建的自定义元组数据类型的名称,第二个参数是一个字符串,其中包含使用空格分割的名称,每个名称代表该元组数据类型的一项。该函数返回一个自定义的类(数据类型),用于创建命名的元组。因此,这一情况下,我们将sale与任何其他python类一样看待,并创建类型为sale的对象,如:

8.png

这里我们厂家了包含两个sale项的列表,也就是包含两个自定义元组。我们也可以使用索引位置来引用元组中的项----比如,第一个销售项的价格为sales[0][-1],但我们呢也可以使用名称进行引用,这样会更加清晰:

9.png

命名的元组提供的清晰与便利通常都是有用的,比如,下面另一个例子:

10.png

私有方法namedtuple._asdict()返回的是键-值对的映射,其中每个键都是元组元素的名称,值则是对应的值,我们使用映射拆分将映射转换为str.format()方法的键-值参数。

“{manufacturer} {model}”.format(**aircraft._asdict())

字符串

str,字符串在python中是有序序列,这意味着字符串在python中可以做很多操作,比如slice。不过有一点是字符串中某部分无法进行修改,因为是不可变对象。

字符串经常碰到的一个问题就是怎么把 字符串倒序输出。

这时候我们就可以把slice用到字符串中,编写一个倒序输出的函数如下:

def reverse(x):
    if not isinstance(x,basestring):
       raise TypeError ("bad type");
    else:
        return x[::-1]

isinstance是用来判断参数是否是字符串,如果不是的话将会报错。

basestring是str和unicode的父类,可以用来分辨是不是字符串的类型。

推荐学习:Python视频教程

以上是列表、元组、字符串是python的什么序列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何使用Python从列表中删除方括号如何使用Python从列表中删除方括号Sep 05, 2023 pm 07:05 PM

Python是一款非常有用的软件,可以根据需要用于许多不同的目的。Python可以用于Web开发、数据科学、机器学习等许多其他需要自动化处理的领域。它具有许多不同的功能,可以帮助我们执行这些任务。Python列表是Python的一个非常有用的功能之一。顾名思义,列表包含您希望存储的所有数据。它基本上是一组不同类型的信息。删除方括号的不同方法许多时候,用户会遇到列表项显示在方括号中的情况。在本文中,我们将详细介绍如何去掉这些括号,以便更好地查看您的列表。字符串和替换函数删除括号的最简单方法之一是在

制作 iPhone 上 iOS 17 提醒应用程序中的购物清单的方法制作 iPhone 上 iOS 17 提醒应用程序中的购物清单的方法Sep 21, 2023 pm 06:41 PM

如何在iOS17中的iPhone上制作GroceryList在“提醒事项”应用中创建GroceryList非常简单。你只需添加一个列表,然后用你的项目填充它。该应用程序会自动将您的商品分类,您甚至可以与您的伴侣或扁平伙伴合作,列出您需要从商店购买的东西。以下是执行此操作的完整步骤:步骤1:打开iCloud提醒事项听起来很奇怪,苹果表示您需要启用来自iCloud的提醒才能在iOS17上创建GroceryList。以下是它的步骤:前往iPhone上的“设置”应用,然后点击[您的姓名]。接下来,选择i

Del和remove()在Python中的列表上有什么区别?Del和remove()在Python中的列表上有什么区别?Sep 12, 2023 pm 04:25 PM

在讨论差异之前,让我们先了解一下Python列表中的Del和Remove()是什么。Python列表中的Del关键字Python中的del关键字用于从List中删除一个或多个元素。我们还可以删除所有元素,即删除整个列表。示例使用del关键字从Python列表中删除元素#CreateaListmyList=["Toyota","Benz","Audi","Bentley"]print("List="

使用Python根据列表创建多个目录使用Python根据列表创建多个目录Sep 08, 2023 am 08:21 AM

Python凭借其简单性和多功能性,已成为各种应用程序中最流行的编程语言之一。无论您是经验丰富的开发人员还是刚刚开始编码之旅,Python都提供了广泛的功能和库,使复杂的任务变得易于管理。在本文中,我们将探讨一个实际场景,Python可以通过自动执行基于列表创建多个目录的过程来帮助我们。通过利用Python内置模块和技术的强大功能,我们可以有效地处理此任务,而无需手动干预。在本教程中,我们将深入研究创建多个目录的问题,并为您提供使用Python解决该问题的不同方法。在本文结束时,我们的目标是为您

我们可以在Java列表中插入空值吗?我们可以在Java列表中插入空值吗?Aug 20, 2023 pm 07:01 PM

SolutionYes,Wecaninsertnullvaluestoalisteasilyusingitsadd()method.IncaseofListimplementationdoesnotsupportnullthenitwillthrowNullPointerException.Syntaxbooleanadd(Ee)将指定的元素追加到此列表的末尾。类型参数E −元素的运行时类型。参数e −要追加到此列表的元

如何使用 Vue 实现可折叠列表?如何使用 Vue 实现可折叠列表?Jun 25, 2023 am 08:45 AM

Vue是一款流行的JavaScript库,广泛应用于Web开发领域。在Vue中,我们可以很方便地实现各种组件和交互效果。其中,可折叠列表是一个比较实用的组件,它可以将列表数据分组,提高数据展示的可读性,同时又能够在需要展开具体内容时进行展开,方便用户查看详细信息。本文就将介绍如何使用Vue实现可折叠列表。准备工作在使用Vue实现可折叠列

在Java中从列表中随机选择项目在Java中从列表中随机选择项目Sep 06, 2023 pm 08:33 PM

List是JavaCollection接口的子接口。它是一种线性结构,按照顺序存储和访问每个元素。为了使用list的特性,我们使用实现了list接口的ArrayList和LinkedList类。在本文中,我们将创建一个ArrayList,并尝试随机选择该列表中的项目。在Java中随机选择列表中的项目的程序随机类别我们创建此类的对象来生成伪随机数。我们将自定义该对象并应用我们自己的逻辑从列表中选择任何随机项目。语法RandomnameOfObject=newRandom();Example1的翻译

iOS 17:如何设置和标记多个计时器iOS 17:如何设置和标记多个计时器Sep 19, 2023 pm 03:29 PM

花了这么长时间,但在iOS17中,Apple增加了对多个计时器的支持,并且还通过引入标签使在iPhone上管理多个计时器变得容易。没错。信不信由你,到目前为止,iPhone还没有包括设置多个持续计时器的功能。在iOS17,时钟应用程序最终可以设置多个计时器,这些计时器将同时运行,使您可以跟踪多件事,例如,这在烹饪包含多道菜的餐点时很方便。您不仅可以同时有多个计时器倒计时,还可以标记计时器,这有助于您在计时器列表中识别每个计时器。这样,您将始终知道哪个计时器与什么相关,并且可以保存自定义计时器,而

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境