元组是 Python 对象的集合,跟列表十分相似。下面进行简单的对比。

列表与元组

1、python中的列表list是变量,而元组tuple是常量。

列表:是使用方括号[],元组:则是使用圆括号()

2、两者都可以使用索引读取值

列表

1.列表中的append()和extend()

都是对列表增加元素的方法,都不支持多参数

但是append()向列表中添加一个作为整体的对象,

extend()是把一个可迭代对象的内容迭代添加到列表中

2. 列表中的remove()、pop()和del

remove:删除单个元素,删除首个符合条件的元素,按值删除,返回值为空

pop:删除索引位置元素,无参情况下删除最后一个元素,返回删除的元素值

del:简单粗暴,可传索引值参数删除符合条件的元素,也可不接参数整个删除

元组

存储在元组中的值序列可以是任何类型的,并且它们由整数编制索引。

元组的值在语法上用"逗号"分隔。

但通过关闭括号中的值序列来定义元组更为常见。

创建一个空元组与创建带一个元素的元组

在 Python 中,通过放置用"逗号"分隔的值序列(带或不使用括号来分组数据序列)来创建元组。

注 :创建不使用括号的 Python 元组称为元组打包。

tup1 = () # 创建空元组

tup2 = (1, )

#元组中只包含一个元素时,需要在元素后面添加逗号

Python 程序演示在元组中添加的元素

# Creating a Tuple with
# the use of list
list1 = [1, 2, 4, 5, 6]
print("\nTuple using List: ")
print(tuple(list1))

#Creating a Tuple
#with the use of built-in function
Tuple1 = tuple('geeen')
print("\nTuple with the use of function: ")
print(Tuple1)

输出:

Initial empty Tuple:
()

Tuple with the use of String:
('Geeks', 'For')

Tuple using List:
(1, 2, 4, 5, 6)

Tuple with the use of function:
('G', 'e', 'e', 'e', 'n')

Python的元组与列表类似,不同之处在于元组的元素不能修改。

删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:

tup = ('physics', 'chemistry', 1997, 2000)

print(tup)

del tup

print("After deleting tup:")

print(tup)

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tup1 = ('physics', 'chemistry', 1997, 2000)tup2 = (1, 2, 3, 4, 5 )tup3 = "a", "b", "c", "d"

元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:

tup1 = (1,2,3,4)

tup2 = ('abc', 'xyz')

# 以下修改元组元素操作是非法的。# tup1[0] = 100

# 创建一个新的元组

tup3 = tup1 + tup2

print (tup3)

元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

元组索引,截取(切片)

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

L =('spam','Spam','SPAM!')

无关闭分隔符

任意无符号的对象,以逗号隔开,默认为元组,如下实例:

print ('abc', -4.24e93, 18+6.6j, 'xyz')

x, y = 1, 2

print ("Value of x , y : ", x,y)

创建具有混合数据类型的元组

元组可以包含任何数量的元素和任何数据类型(如字符串、整数、列表等)。

也可以使用单个元素创建元组。

括号中包含一个元素是不够的,必须有一个尾随的"逗号"才能使其成为元组。

#Creating a Tuple
#with nested tuples
Tuple1 = (0, 1, 2, 3)
Tuple2 = ('python', 'geeen')
Tuple3 = (Tuple1, Tuple2)
print("\nTuple with nested tuples: ")
print(Tuple3)

#Creating a Tuple
#with repetition
Tuple1 = ('Geeen',) * 3
print("\nTuple with repetition: ")
print(Tuple1)

#Creating a Tuple
#with the use of loop
Tuple1 = ('Geeen')
n = 5
print("\nTuple with a loop")
for i in range(int(n)):
Tuple1 = (Tuple1,)
print(Tuple1)

输出:

Tuple with Mixed Datatypes:
(5, 'Welcome', 7, 'Geeen')

Tuple with nested tuples:
((0, 1, 2, 3), ('python', 'geeen'))

Tuple with repetition:
('Geeen', 'Geeen', 'Geeen')

Tuple with a loop
('Geeen',)
(('Geeen',),)
((('Geeen',),),)
(((('Geeen',),),),)
((((('Geeen',),),),),)

学习更多python知识访问如下链接地址

python 编程https://edu.csdn.net/course/detail/36170
访问元组

元组是不可变的,通常,它们包含一系列异构元素。

这些元素是通过解包或索引(甚至按属性在命名元组的情况下访问)。

列表是可变的,并且其元素通常是同质的,并且通过遍该列表进行遍时访问。

注意:左侧元组数的变量时,应等于给定元组 a 中的值数。

#Accessing Tuple
#with Indexing
Tuple1 = tuple("Geeen")
print("\nFirst element of Tuple: ")
print(Tuple1[1])

#Tuple unpacking
Tuple1 = ("Geeen", "For", "Geeen")

#This line unpack
#values of Tuple1
a, b, c = Tuple1
print("\nValues after unpacking: ")
print(a)
print(b)
print(c)

输出:

First element of Tuple:
e

Values after unpacking:
Geeen
For
Geeen

图组串联

元组串联是两个或更多元组连接的过程。其他算术运算不适用于元对元。

串联通过使用"+"运算符完成。元组串联始终从原始元组末尾完成。

注意 -只有相同的数据类型可以与串联结合,如果将列表和元组组合在一起,则会出现错误。

# Concatenaton of tuples
Tuple1 = (0, 1, 2, 3)
Tuple2 = ('Geeen', 'For', 'Geeen')

Tuple3 = Tuple1 + Tuple2

# Printing first Tuple
print("Tuple 1: ")
print(Tuple1)

# Printing Second Tuple
print("\nTuple2: ")
print(Tuple2)

# Printing Final Tuple
print("\nTuples after Concatenaton: ")
print(Tuple3)

输出:

Tuple 1:
(0, 1, 2, 3)

Tuple2:
('Geeen', 'For', 'Geeen')

Tuples after Concatenaton:
(0, 1, 2, 3, 'Geeen', 'For', 'Geeen')

图们的切片

执行元组切片以从元组获取特定范围或子元素切片。

也可以对列表和数组进行切片。在列表中索引结果获取单个元素,而且切片允许获取一组元素。

注意- 负增量值也可用于反转元数序列

# Slicing of a Tuple
# wit

输出:

Removal of First Element:
('E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S')

Tuple after sequence of Element is reversed:
('S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G')

Printing elements between Range 4-9:
('S', 'F', 'O', 'R', 'G')

删除元组

元组是不可变的,因此它们不允许删除其中的一部分。使用 del() 方法将删除整个元组。

注意 -删除后打印元组结果为错误。

# Deleting a Tuple

Tuple1 = (0, 1, 2, 3, 4)
del Tuple1

print(Tuple1)

内置方法

学习更多python知识访问如下链接地址

python 编程https://edu.csdn.net/course/detail/36170https://edu.csdn.net/course/detail/36170

Python深入理解元组与列表的使用和区别相关推荐

  1. python中列表和元组的相同点和不同点_详解Python语言中元组和列表的区别

    本篇介绍Python中的元组数据类型,文中会讨论元组与列表的区别,元组的声明.赋值及其相关运算.通过本篇的学习,可以达成如下目标. ● 掌握元组和列表的区别 ● 掌握元组的声明和赋值 ● 掌握适用于元 ...

  2. python基础之元组,列表

    >>> menber=["小甲鱼","不定","怡欣","mt"]>>> for e ...

  3. Python中的元组和列表的区别

    元组和列表是近亲关系,所以元组和列表在实际使用上是非常相似的. >>> list1 = [1,2,3,4,5,6,7,8,9] >>> list1 [1, 2, 3 ...

  4. python里元组和列表的共同点和不同点_Python元组与列表的相同点与区别

    列表和元组都属于有序序列,支持使用双向索引访问其中的元素.使用内置函数len()统计元素个数.使用运算符in测试是否包含某个元素.使用count()方法统计指定元素的出现次数和index()方法获取指 ...

  5. python中的元组和列表的核心区别

    列表和元组都是有序的,可以存储任意数据类型的集合,区别主要在于下面这两 点. 列表是动态的,长度可变,可以随意的增加.删减或改变元素.列表的存储空间略大于元 组,性能略逊于元组. 元组是静态的,长度大 ...

  6. Python数据类型(元组、列表、字符串、字典)

    元组tuple:不可修改的数据类型 ABC = ('a', 1, x, 'today') 列表list:可修改的数据类型 ABC = ['a', 1, x, 'today'] 字符串set: ABC ...

  7. Python中元组,列表,字典的区别

    http://blog.csdn.net/yasi_xi/article/details/38384047 转载于:https://www.cnblogs.com/Baronboy/p/8241878 ...

  8. python如何返回一个列表_python如何返回元组,列表或字典的?

    Python中的数据结构用于存储数据集合,这些数据可以从函数中返回.那么python如何返回元组,列表或字典的?在本文中,我们将探讨如何从这些数据结构中返回多个值:元组,列表和字典.您可以从Pytho ...

  9. python中元组、列表

    参考:详解Python语言中元组和列表的区别 相同点:都是线性表 不同点:python元组赋值吼所存储的数据不能被程序修改,元组可以看作是只能读取数据不能修改数据的列表. 元组的声明与赋值 与列表相同 ...

最新文章

  1. iOS开发中乱用hook可能导致灾难
  2. 标记一下被自己遗忘的java基础
  3. python安装库-python 安装库
  4. windows下ffmpeg使用dxva2加速硬件解码
  5. abstract class和interface有什么区别?
  6. iOS开发-63】Unknown type name CGRect,did you mean Rect?的解决方案
  7. 设备文件的创建mknod
  8. ubuntu中启动oracle数据库
  9. 如何保证input的输入值不会随着提交 而变空_如何对web界面的应用进行测试?
  10. MATLAB中的S-Function的用法(C语言)
  11. 大数据(1)---全球100款大数据工具汇总(前50款)
  12. 15款桌面搜索软件横向评测
  13. Linux常用指令<三>
  14. 6 静态成员与友元【C++】
  15. uwsgi2.0.2 安装及自启动
  16. 关键明 抖音 打造百万爆款变现文案
  17. 后台用户角色权限管理设计
  18. 官方确认:新增一所“双一流”大学!
  19. 苦追12年从第六备胎逆袭成功的IT男的故事
  20. Netica用于构建贝叶斯网络教程

热门文章

  1. 启牛商学院计算机,启牛商学院达摩老师教你三招成为跨界理财达人
  2. 搭建Magento电子商务网站
  3. 一步步实现SDDC-逻辑交换与逻辑路由
  4. PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装
  5. Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解
  6. 微服务主见传递ID还是json_Feign实现微服务间文件传递
  7. 企业级 SpringBoot 教程 (八)springboot整合mongodb
  8. redis 集群的密码设置
  9. 第11章 使用Vsftpd服务传输文件
  10. Apache Shiro权限管理框架