返回顶部
首页 > 资讯 > 后端开发 > Python >Python-List、Tuple类型
  • 455
分享到

Python-List、Tuple类型

类型PythonList 2023-01-31 01:01:10 455人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

List集合类型 python内置的一种数据类型: list 。list是一种有序的集合,可以添加或删除其中元素。构造 list 使用中括号 [ ] ,用 [ ] 把list所有元素括起来,就是一个list对象,通常会把list赋值给一个

List集合类型

python内置的一种数据类型: list 。list是一种有序的集合,可以添加或删除其中元素。
构造 list 使用中括号 [ ] ,用 [ ] 把list所有元素括起来,就是一个list对象,通常会把list赋值给一个变量,这样就可以引用list。如:

su = ['linda' , 'ben' , 'ken'] ## 如一个元素都没有,那就是空list。

list是一个有序集合,可以通过索引来制定获取其中元素,索引是从 0 开始:
Python-List、Tuple类型

print su[2] ## 这时会打印出 ben

上面的list只有3个元素,有效的索引是 0,1,2。所以,使用索引时,千万注意不要越界。

倒序访问索引

su = ['linda' , 'ben' , 'ken'] 可以用 -1 这个索引来表示最后一个元素:

Python-List、Tuple类型

类似的,倒数第二用 -2 表示,倒数第三用 -3 表示。使用倒序索引时,也要注意不要越界。

添加新元素

第一个办法就是用list的 append() 方法,把新元素加至末尾:

Python-List、Tuple类型

###append() 总是把新元素加到 list 尾部。

如果要求新加元素排到第一,可以用 insert() 方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:

Python-List、Tuple类型

###指定索引号,就可以把新加元素指定排序

删除元素

删除元素可以使用 pop() 方法:

Python-List、Tuple类型

pop() 方法默认删除最后一个元素,可以指定某个删除元素,括号内加上索引:

Python-List、Tuple类型

下面的代码为什么不能正确运行​:

Python-List、Tuple类型

因为有4个元素,索引从0:linda、1:ben、2:ken、3:peter,删除2:ken 之后, peter索引号变为2,至此,已经没有索引号为3的元素。

替换元素

替换元素也是使用索引号指定替换,替换ben:

Python-List、Tuple类型

tuple

tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。

用tuple表示如下:

t = ('Adam', 'Lisa', 'Bart')
创建tuple和创建list唯一不同之处是用( )替代了[ ]。

获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素,不信可以试试:

Python-List、Tuple类型

单元素tuple

包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:

t = ()
print t
()
创建包含1个元素的 tuple 呢?来试试:

t = (1)
print t
1
好像哪里不对!t 不是 tuple ,而是整数1。为什么呢?

因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。

正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:

t = (1,)
print t
(1,)
Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。

多元素 tuple 加不加这个额外的“,”效果是一样的:

t = (1, 2, 3,)
print t
(1, 2, 3)

“可变”的tuple

前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:

t = ('a', 'b', ['A', 'B'])
注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:

Python-List、Tuple类型

然后,我们把list的两个元素改一改,再看看tuple的内容:

Python-List、Tuple类型

不是说tuple一旦定义后就不可变了吗?怎么现在又变了?

别急,我们先看看定义的时候tuple包含的3个元素:

Python-List、Tuple类型

当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:

Python-List、Tuple类型

表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。

tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

##########################

定义了tuple:

t = ('a', 'b', ['A', 'B'])

由于 t 包含一个list元素,导致tuple的内容是可变的。能否修改上述代码,让tuple内容不可变?

t = ('a', 'b', ('A', 'B')) ### t[2] 单独变为一个tuple

--结束END--

本文标题: Python-List、Tuple类型

本文链接: https://lsjlt.com/news/183335.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python-List、Tuple类型
    List集合类型 Python内置的一种数据类型: list 。list是一种有序的集合,可以添加或删除其中元素。构造 list 使用中括号 [ ] ,用 [ ] 把list所有元素括起来,就是一个list对象,通常会把list赋值给一个...
    99+
    2023-01-31
    类型 Python List
  • Python中的复杂数据类型(list、tuple)
    目录一、序列:二、列表(list):[a1,a2],可变数据类型1、列表的创建2、复合列表和多维列表3、列表索引取值4、列表修改三、列表推导式1、列表推导式书写形式:2、列表推导式的...
    99+
    2024-04-02
  • python list tuple d
    很意外,我的博客居然有人访问,还有一位仁兄来评价,点赞,莫名感激  一 list          name = ["aaa","bbb","ccc","ddd","eee","fff","ggg","hhh","iii"]        ...
    99+
    2023-01-31
    python list tuple
  • python的list、tuple、di
    listtupledictset特点有序、查找速度随着元素增加而逐渐下有序\不能修改无序、查找速度快、key不能重复元素没有重复、无序、判断一个元素是否在set中速度很快创建L =['Michael', 'Bob', 'Tracy']t =...
    99+
    2023-01-31
    list python di
  • Python中的list,tuple,d
    list的创建与检索 Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。 构造list非常简单,直接用 [ ] 把list的所有元素都括起来,就是一个list对象。 Python是动...
    99+
    2023-01-31
    Python list tuple
  • Python中关于list、tuple、
    List定义及常用的方法见上一篇博客。 Tuple元组tuple的定义:            tuple是一个有序的元素组成的不可变对象的集合,使用小括号()表示,是可迭代对象 元组中数据的访问            支持索引(下标访问)...
    99+
    2023-01-31
    Python list tuple
  • 变量类型-Tuple
    教程:一:元组的创建        元组(tuple)与列表类似,不同之处在于元组的元素不能修改    (1)tuple写在圆括号之间,元素用逗号隔开    (2)元组元素的类型可以不同    (3)一个元素,需要在元素后添加逗号tup ...
    99+
    2023-01-30
    变量 类型 Tuple
  • Python中内置数据类型list,tuple,dict,set的区别和用法
    Python语言简洁明了,可以用较少的代码实现同样的功能。这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set。这里对他们进行一个简明的总结。 List 字面意...
    99+
    2022-06-04
    数据类型 区别 list
  • python中的list、tuple和d
    列表 列表是python中最基本的数据结构之一,并且列表的数据项不需要具有相同的数据类型,创建一个列表,只需把逗号分隔的不同数据项使用方括号括起来即可。具体的定义式如下: list=['变量1','变量2','变量3'......] #变...
    99+
    2023-01-30
    python list tuple
  • Python数据类型中的元组Tuple
    目录一、定义二、合并、重复与删除三、元组转换四、元组中的方法一、定义 元组可以理解为一个只读列表,用()来标识。 定义一个空元组变量 = () 但是如果元组中只有一个元素时,是元组还...
    99+
    2024-04-02
  • Python数据类型详解(三)元祖:tuple
    一.基本数据类型   整数:int   字符串:str(注:t等于一个tab键)   布尔值: bool   列表:list   列表用[]   元祖:tuple   元祖用()   字典:dict 注...
    99+
    2022-06-04
    元祖 详解 数据类型
  • list,tuple,set,dict汇
          有序/无序 追加/删除元素 元素可/不可重复 元素类型 创建方式 List 有序 可追加删除追加:list.append(item),list.insert(index,item)删除:list.pop()...
    99+
    2023-01-31
    tuple list dict
  • python数据类型dict、list、
    在测试时候我们经常会碰到要把读取的数据转成自己想要类型,比如字典转字符串、字符串转列表等等。 下面通过例子介绍一下:一、字典转字符串:(不改变原始字典a的值) 转元组:(不改变原始字典a的值)这里只把字典的key转过来,如果要把值转过来,这...
    99+
    2023-01-31
    数据类型 python list
  • Typescript中tuple类型怎么用
    小编给大家分享一下Typescript中tuple类型怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!tuple元组类型,允...
    99+
    2024-04-02
  • 浅析C++元组tuple类型
    目录介绍tuple的定义及初始化tuple的使用成员访问获取tuple信息拼接tuple交换tupletuple解包tuple比较tuple遍历tuple开发时的应用介绍 元组tup...
    99+
    2024-04-02
  • python列表[list]和元组(tuple)详情
    列表和元组: list是一种有序的集合,可以随时添加和删除其中的元素.1,创建一个普通列表 List = ['Jack','Bob','Lucy','Rose'] Append() ...
    99+
    2024-04-02
  • python中列表(list)和元组(tuple)的区别
    这期内容当中小编将会给大家带来有关python中列表(list)和元组(tuple)的区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。列表列表是动态的,长度可以改变,可以随意增加,修改或删除元素。初始化...
    99+
    2023-06-14
  • 变量类型-List
    教程:一:列表的创建    List(列表) 是 Python 中使用最频繁的数据类型。列表中元素的类型可以不相同,数字,字符串甚至可以包含列表(所谓嵌套)    (1)List写在方括号之间,元素用逗号隔开    (2)和字符串一样,l...
    99+
    2023-01-30
    变量 类型 List
  • Python -- list 类
    Python list类常用方法class list(object):        def append(self, p_object): # 向列表中添加元素; >>> name_list ['shuoming', '...
    99+
    2023-01-31
    Python list
  • Python内建类型list源码学习
    目录问题:1 常用方法小结:题外话:2 list的内部结构:PyListObject3 尾部操作和头部操作3.1 尾部操作3.2 头部操作4 浅拷贝和深拷贝4.1 浅拷贝4.2 深拷...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作