当前位置:网站首页>Python基础数据类型——tuple浅析
Python基础数据类型——tuple浅析
2020-11-06 20:53:00 【Python进阶者】
Python中tuple的使用
一、什么是元组?
有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。
二、用法
1. tuple元组的定义
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。示例如下:
tup1 = ('361way', 'com', 1997, 2000)
print(type(tup1))
tup2 = (1, 2, 3, 4, 5)
tup3 = "a", "b", "c", "d"
print(type(tup3))
这里通过tup3可以看出,其并没有用小括号进行包括,但其也是元组。所以需要记住:任意无符号的对象,以逗号隔开,默认为元组 。另外需要特别注意只有一个元素时元组的创建:
tup1 = (111)
print(type(tup1))
tup1 = ("abc")
print(type(tup1))
tup1 = ("abc",)
print(type(tup1))
元组中只包含一个元素时,需要在元素后面添加逗号,否则就会是int 或 string 等其他数据类型。如果只是创建一个空元组时,则不受逗号的影响:
tup1 = ()
print(type(tup1))
2. 元组的索引与切片
同字符串、列表类型一样,元组也支持索引与切片 。而且用法也相同,
下面结合示例查看下:
tup1 = ('361way', 'com', 2013, 2014)
print(tup1[0])
print(tup1[4]) #取值超出其索引范围时报错
tup2 = (1, 2, 3, 4, 5, 6, 7)
print(tup2[1:5])
由上面的结果可以看出,取出元组的单个元素数据时,得到的是该数据原来的类型 ; 取出其一段元素值时得到的仍是元组。
3. 修改元组的值
元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组,如下实例:
tup1 = ('361way', 'com', 2013, 2014)
del tup1[3] # 删除单个元素,报错
tup1[3] = 'abc' # 更改一个元素的值,报错
print(tup1[3])
del tup1 # 删除整个元组,正常
print(tup1)
在实际应用中,有时候会遇到需要修改元组的值,那怎么办呢?可以通过一个变通的方法实现。
示例如下:
tup1 = ('361way', 'com', 2013, 2014)
list1 = list(tup1)
print(list1)
list1[3] = 'change'
print(list1)
tup1 = tuple(list1)
print(tup1)
可以将tuple元组的值先通过list转化为列表,再对列表内的值进行修改,修改为再将list转化为tuple 。
不过这里需要注意的是此时的tup1已经非彼tup1,具体可以通过id函数进行查看,发现其内存地址已经发生了变化。
三、总结
本文基于Python基础,主要介绍了Python基础中tuple元组的使用,对于tuple的用法做了详细的讲解,用丰富的案例 ,代码效果图的展示帮助大家更好理解 。
tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。
最后,希望可以帮助大家更好的学习Python。 想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/
想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/
版权声明
本文为[Python进阶者]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4521128/blog/4672820
边栏推荐
- Multi classification of unbalanced text using AWS sagemaker blazingtext
- EOS创始人BM: UE,UBI,URI有什么区别?
- Wechat applet: prevent multiple click jump (function throttling)
- Just now, I popularized two unique skills of login to Xuemei
- Advanced Vue component pattern (3)
- 前端都应懂的入门基础-github基础
- Brief introduction and advantages and disadvantages of deepwalk model
- 教你轻松搞懂vue-codemirror的基本用法:主要实现代码编辑、验证提示、代码格式化
- How to encapsulate distributed locks more elegantly
- [JMeter] two ways to realize interface Association: regular representation extractor and JSON extractor
猜你喜欢
In order to save money, I learned PHP in one day!
keras model.compile Loss function and optimizer
Existence judgment in structured data
Flink的DataSource三部曲之二:内置connector
Linked blocking Queue Analysis of blocking queue
Don't go! Here is a note: picture and text to explain AQS, let's have a look at the source code of AQS (long text)
至联云分享:IPFS/Filecoin值不值得投资?
合约交易系统开发|智能合约交易平台搭建
Mongodb (from 0 to 1), 11 days mongodb primary to intermediate advanced secret
华为云“四个可靠”的方法论
随机推荐
How to become a data scientist? - kdnuggets
6.3 handlerexceptionresolver exception handling (in-depth analysis of SSM and project practice)
Using Es5 to realize the class of ES6
Wechat applet: prevent multiple click jump (function throttling)
[JMeter] two ways to realize interface Association: regular representation extractor and JSON extractor
熬夜总结了报表自动化、数据可视化和挖掘的要点,和你想的不一样
PHP应用对接Justswap专用开发包【JustSwap.PHP】
I've been rejected by the product manager. Why don't you know
It's so embarrassing, fans broke ten thousand, used for a year!
“颜值经济”的野望:华熙生物净利率六连降,收购案遭上交所问询
合约交易系统开发|智能合约交易平台搭建
React design pattern: in depth understanding of react & Redux principle
Windows 10 tensorflow (2) regression analysis of principles, deep learning framework (gradient descent method to solve regression parameters)
Group count - word length
(2)ASP.NET Core3.1 Ocelot路由
axios学习笔记(二):轻松弄懂XHR的使用及如何封装简易axios
前端工程师需要懂的前端面试题(c s s方面)总结(二)
至联云分享:IPFS/Filecoin值不值得投资?
加速「全民直播」洪流,如何攻克延时、卡顿、高并发难题?
Brief introduction and advantages and disadvantages of deepwalk model