Python干货:了解元组与列表的使用和区别
元组是 Python 对象的集合,跟列表十分相似。下面进行简单的对比。
列表与元组
1、python中的列表list是变量,而元组tuple是常量。
列表:是使用方括号[],元组:则是使用圆括号()
2、两者都可以使用索引读取值
列表
1.列表中的append()和extend()
都是对列表增加元素的方法,都不支持多参数
但是append()向列表中添加一个作为整体的对象,
extend()是把一个可迭代对象的内容迭代添加到列表中
2. 列表中的remove()、pop()和del
remove:删除单个元素,删除首个符合条件的元素,按值删除,返回值为空
pop:删除索引位置元素,无参情况下删除最后一个元素,返回删除的元素值
del:简单粗暴,可传索引值参数删除符合条件的元素,也可不接参数整个删除
元组
存储在元组中的值序列可以是任何类型的,并且它们由整数编制索引。
元组的值在语法上用"逗号"分隔。
但通过关闭括号中的值序列来定义元组更为常见。
欢迎各位热爱Python的小伙伴进群交流:610380249
学习Python的过程中遇到什么问题都可以一起交流。
创建一个空元组与创建带一个元素的元组
在 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',),),),),)
访问元组
元组是不可变的,通常,它们包含一系列异构元素。
这些元素是通过解包或索引(甚至按属性在命名元组的情况下访问)。
列表是可变的,并且其元素通常是同质的,并且通过遍该列表进行遍时访问。
注意:左侧元组数的变量时,应等于给定元组 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 元素、元组、列表、字典的区别
转载:http://www.th7.cn/Program/Python/201407/231060.shtml 元素: 元组:tuple=('nice','to','meet','you') 列表:l ...
- python之元组,列表和字典的区别
Python语言包含6种内建的序列,其中,有两种主要的类型:列表和元组. 列表是可以修改的,而元组不可以,如果要添加或者删除某些元素,就只能用列表,为了限制某些元素,就会用到元组.一般来说,列表可以替 ...
- Python字符串、元组、列表、字典互相转换的方法
直接上代码!!! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...
- python 字符串,元组, 列表,字典之间的转换
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- (备忘)Python字符串、元组、列表、字典互相转换的方法
#1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, ...
- Python字符串,元组、列表、字典
1.字符串 <string>.strip() 去掉两边空格及去指定字符 <string>.split() 按指定字符分隔字符串为数组 <string>.isdigi ...
- Python数据类型(元组、列表、字符串、字典)
元组tuple:不可修改的数据类型 ABC = ('a', 1, x, 'today') 列表list:可修改的数据类型 ABC = ['a', 1, x, 'today'] 字符串set: ABC ...
- Python中元组,列表,字典的区别
http://blog.csdn.net/yasi_xi/article/details/38384047
- Python中元祖,列表,字典的区别
Python中有3种內建的数据结构:列表.元祖和字典: 1.列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 列表中的项目应该包括在方括号中,这样Python就知道 ...
随机推荐
- Python手把手教程之用户输入input函数
函数input() 函数 input() 让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. 例如,下面的程序让用户输入一些文本,再将这些文本呈现给 ...
- 【Tomcat】Tomcat原理与系统架构
目录 版本: 一,目录说明 二,浏览器访问服务器的流程 三,Tomcat系统总体架构 3.1 Tomcat请求的大致流程 3.2 Servlet容器处理请求流程 3.3 Tomcat系统总体架构 四, ...
- EF Core 封装方法Expression<Func<TObject, bool>>与Func<TObject, bool>区别
unc<TObject, bool>是委托(delegate) Expression<Func<TObject, bool>>是表达式 Expression编译后就 ...
- 用python写注入漏洞的poc
webug靶场一道简单的注入题 加点后报错 could not to the database You have an error in your SQL syntax; check the manu ...
- replaceAll
/** * 根据正则是,替换对应内容 * @return */ public static String replaceByRegex(String regex,String src,Strin ...
- Java连接MySQL数据库——含详细步骤和代码
工具:eclipse.MySQL.MySQL连接驱动:mysql-connector-java-5.1.45.jar 首先要下载Connector/J地址:http://www.mysql.com/d ...
- [leetcode]Next Greater Element
第一题:寻找子集合中每个元素在原集合中右边第一个比它大的数. 想到了用哈希表存这个数的位置,但是没有想到可以直接用哈希表存next great,用栈存还没找到的数,没遍历一个数就考察栈中的元素小,小的 ...
- 【STL 源码剖析】浅谈 STL 迭代器与 traits 编程技法
大家好,我是小贺. 点赞再看,养成习惯 文章每周持续更新,可以微信搜索「herongwei」第一时间阅读和催更,本文 GitHub : https://github.com/rongweihe/Mor ...
- javaweb基本知识(eclipse环境)
javascrip有两种方式: ①外链式 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 < ...
- 5.从零开始创建一个QT窗口按钮
如何创建一个QT项目 如何创建一个QT项目 1.创建新项目 2.配置选择 3.增加按钮 4.按钮和窗体的大小标签图标设置 5.信号与槽 6.自定义信号与槽 代码 1.创建新项目 点击文件->新建 ...