Python元组(tuple)
元组(tuple)是Python中另一个重要的序列结构,与列表类型,也是由一系列按特定顺序排列的元素组成,但是他是不可变序列。在形式上元组的所有元素都放在"
()
“中,两个元素使用”,
"分隔,在内容上可以将整数、实数、字符串、列表、元组等任何类型放入到元组中。
元组的创建和删除
使用赋值运算符直接创建
以下种形式都是可以的:
num = (1, 3, 5, 2)
num2 = ("哈哈", "嘿嘿")
num3 = (1, 2, 3, 4, "再来一次")
num4 = (1) #注意不加","是默认int类型
num5 = (1,)
num6 = 1, 2, 3 # 小括号不是必须的
print(type(num))
print(type(num2))
print(type(num3))
print(type(num4))
print(type(num5))
print(type(num6))
执行结果:
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
<class 'int'>
<class 'tuple'>
<class 'tuple'>
创建空元组
tuplename = ()
创建数值元组
num = tuple(range(10, 20, 2))
print(num)
执行结果:
(10, 12, 14, 16, 18)
删除元组
使用del
示例代码:
num = tuple(range(10, 20, 2))
print("删除前tuple")
del num
print(num)
执行结果:
Traceback (most recent call last):
删除前tuple
File "D:/xuexi/python/Python基础/Demo.py", line 9, in <module>
print(num)
NameError: name 'num' is not defined
报错的原因是前面使用del删除了,所以找不到这个tuple了
访问元组元素
使用下标访问元素:
示例代码:
num = tuple(range(10, 20, 2))
print(num[1:])
print(num[:])
print(num[:5])
print(num[1:2])
执行结果:
(12, 14, 16, 18)
(10, 12, 14, 16, 18)
(10, 12, 14, 16, 18)
(12,)
遍历元组
示例代码:
num = tuple(range(10, 20, 2))
for i in num:
print(i)
执行结果:
10
12
14
16
18
修改元组元素
示意代码1:
one = ("南山南", 1, 2, 3)
print("原始元组:", one)
two = one + ("哈哈",)
print("修改后元组:", two)
执行结果:
原始元组: ('南山南', 1, 2, 3)
修改后元组: ('南山南', 1, 2, 3, '哈哈')
示意代码3:
one = ("南山南", 1, 2, 3)
one = (1, 2, 3, 4, "再来一次")
print(one)
执行结果:
(1, 2, 3, 4, '再来一次')
元组推导式
示例代码1:
import random
randomnumber = (random.randint(10, 100) for i in range(10))# random.randint(10, 100)是添加的内容,range(10)是限制个数
randomnumber = tuple(randomnumber) # 不进行转换直接输出显示为一个生成器对象
print(randomnumber)
执行结果:
(27, 80, 58, 56, 59, 73, 66, 11, 56, 83)
示例代码2:
num = (i for i in range(10))
num = tuple(num)
print(num)
执行结果:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
示例代码3:
num = (i for i in range(5))
print(num.__next__())
print(num.__next__())
print(num.__next__())
print(num.__next__()) # 注意__next__()取值最大长度不能超过元组长度,否则会报错StopIteration
num = tuple(num)
print(f"前面去了还剩下的有吗?还有{len(num)}个 →",tuple(num))
执行结果:
0
1
2
3
前面去了还剩下的有吗?还有1个 → (4,)
以上结论是使用了__next__()
一次元组中就会少一个元素
Python元组(tuple)的更多相关文章
- Python 元组 tuple() 方法
描述 Python 元组 tuple() 方法用于将可迭代对象(字符串.列表.元祖.字典)转换为元组. 语法 tuple() 方法语法: tuple(iterable) 参数 iterable -- ...
- Python元组tuple(不可变)
Python元组Tuple(不可变): 元组的特点: 1.元组的初始化: tuple = (1, ) #元组只有一个元素的话,初始化时要加,否则当做元素的普通变量类型处理 tuple = (1, 2 ...
- python 元组tuple - python基础入门(14)
在上一篇文章中我们讲解了关于python列表List的相关内容,今天给大家解释一下列表List的兄弟 – 元组,俗称: tuple. 元组tuple和列表List类似,元组有如下特点: 1.由一个或者 ...
- python 元组tuple介绍,使用。
原文 https://blog.csdn.net/ruanxingzi123/article/details/83184909 一 是什么? # python 元组tuple? ''' 元祖tupl ...
- Python—元组tuple
列表的知识其实就类似于c语言中的数组,可插入.修改.list=[a,b,c,d] 而元组tuple,一旦初始化即不可修改.好处与绝对安全. 定义一个空的元组:t=() 定义只有一个元素的元组:t=(1 ...
- Python - 元组(tuple) 详解 及 代码
元组(tuple) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17290967 元组是存放任意元素集合,不能修 ...
- Python 元组(Tuple)操作详解
Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号, 列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 一.创建元组 代码如下: tup1 = (' ...
- Python 元组Tuple概念和操作
# 元组概念:有序的不可变的元素集合 # 和列表的区别就是, 元组元素不能修改 # 定义 # 一个元素的写法 # (666,) t = (666,) #正确写法 t = (666) #错误写法,括号当 ...
- Python 元组 (tuple)
作者博文地址:https://www.cnblogs.com/liu-shuai/ Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套.不同之处在于元组的元素不能修改.元组使用小括号 ...
随机推荐
- Pickup Objective Actor
在角色的头文件中,添加一个布尔变量,设为共有状态,用来判断是否携带目标物体,并暴露给蓝图,类型为仅蓝图可读 UPROPERTY(BlueprintReadOnly,Category="Gam ...
- [sklearn] 官方例程-Imputing missing values before building an estimator 随机填充缺失值
官方链接:http://scikit-learn.org/dev/auto_examples/plot_missing_values.html#sphx-glr-auto-examples-plot- ...
- 20165231 实验一 Java开发环境的熟悉
实验报告封面 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:王杨鸿永 学号:20165231 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验时间:13:45 - 15:25 ...
- 使用thrift实现订阅服务和发布服务
使用thrift实现订阅服务和发布服务 服务:订阅服务 market_subscriber 和 发布服务 market_publisher功能:market_subscriber 能够向 market ...
- Python在线聊天软件(Tkinter)
1.python2.7下安装 apt-get install python-tk 主要功能是实现客户端与服务器端的双向通信,这个小东西用到的主要知识点: 1.Python Socket:2.Pytho ...
- 请求头缺少 'Access-Control-Allow-Origin'
报错: 火狐上运行,出现报错信息.已拦截跨源请求:同源策略禁止读取位于 https://xxxxxxx 的远程资源.(原因:CORS 头缺少 'Access-Control-Allow-Origin' ...
- hibernate映射(学生-科目-成绩)
实体类 1 public class Student { 2 private int id; 3 private String name; 4 private Set<Score> sco ...
- CentOS7安装和配置MySQL
1. 下载MySQL Yum Repository http://dev.mysql.com/downloads/repo/yum/ 2. 本地安装MySQL Yum Repository s ...
- windows下安装Rabbitmq详解
RabbitMQ是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang. 1.什么是Erlang? Erlang(['ə:læŋ])是一种通用的面向并发的编程语言 ...
- python多线程中锁的概念
1 2 3 4 5 6 7 8 mutex = threading.Lock() #锁的使用 #创建锁 mutex = threading.Lock() #锁定 mutex.acquire([time ...