python元组创建_如何在Python中创建一个空元组的元组?

如何创建仅包含一个空元组(即(()))的元组? 我尝试了tuple(tuple()),tuple(tuple(tuple())),tuple([])和tuple(tuple([])),它们都给了我()。

我使用这种东西的原因如下:假设您有n个袋子和m个物品。 为了表示包中的项目列表,我使用了长度为n的tuple,其中该元组的每个元素都是包的代表。 袋子可能是空的,用()标记。 现在,在一开始的时候,我只有一个装满空东西的袋子!

空元组文字是(),而不是(,)

@vaultah已更正。 :)

"现在,在某个开始的时候,我只有一个装满空东西的袋子!"请注意,元组是不可变的,因此空元组基本上是无用的,因为您以后无法向其中添加项目。如果需要,您应该考虑使用列表。

@DeepSpace没错。然后使用该元组创建一个新的元组,并将所有元组存储在某个地方以进行日志记录。

IMO似乎您应该使用列表而不是元组。然后,创建列表列表,在外部列表或内部列表中添加和删除项目非常简单。 a = [[]]

内部有5个元组的元组是((),)*5。

@jeffery_the_wind这不会创建我想要的那个,但是感谢您提供lists。它在以下工作代码tuple([tuple()])中为我提供了帮助。同样,以下答案只是基于元组,这是非常可取的。

@DeepSpace:一个空的元组是没有用的,因为与None不同,您仍然可以对其执行any()和len()之类的序列操作。测试None的需求可能会使原本优雅的迭代循环变得混乱,并且不对其进行测试可能会导致意外的异常。

除了逗号混淆之外,这里的主要见解是tuple()构造函数是转换器,而不是容器。也就是说,您必须为其提供某种容器(从技术上讲是迭代器)。这就是为什么tuple(1)是TypeError的原因。因此,尽管tuple()确实是一个空元组,但tuple(tuple())只是将其转换为另一个空元组。

空元组是()(或更冗长和较慢的tuple()),而只有一项(例如整数1)(称为单例)的元组是(1,)。 。因此,仅包含空元组的元组为

1((),)

以下是一些显示效果的结果:

1

2

3

4

5

6

7

8

9

10

11>>> a=((),)

>>> type(a)

>>> len(a)

1

>>> a[0]

()

>>> type(a[0])

>>> len(a[0])

0

这是对实际问题的正确答案,但请注意,这并未显示如何创建简单的空元组。 如果您只是看一个空的元组,而不是包含一个空元组的元组,请小心!

@ innov8:我的答案以"空元组为()"开头。 它确实"显示了如何创建一个简单的空元组"。 然后继续说明如何"创建只包含一个空元组的元组"。

@rory_daulton您的答案是对问题的完美答案。 我的观点是,您可以在该页面上登陆另一个问题,即如何创建一个空元组-这是另一个问题。 当然,您没有集中在没有被问到的问题上!

我不惊讶这个(())没有起作用,因为外部括号被解释为-括号。所以(()) == (),就像(2) == 2。这应该起作用,但是:

1((),)

tuple()是唯一真正的空元组,但是()和((),)创建一个长度为1的元组,其中包含长度为0的元组-本身不是长度为零的元组。

如果您想回答"如何创建一个空(或长度为零)的元组...。",我发现此帖子的搜索内容为"如何创建一个空的元组",那么您会发现这不是一个相同的问题,但是可以被误认为是这个问题(就像搜索一样),所以我尽管会提供以下答案:

您如何简单地创建一个空元组?

原始问题可能会误导您,因为原始答案几乎可以作为一个空的元组使用,但确实无法通过一项测试。

(),会按照前面的答案使用((),)创建一个'空'元组,({[((((((((),))))))也会起作用,实际上您可以使用任何数字在您选择的外括号中,它们仅用作括号。但是,python在打印元组时会添加一组外括号。

空括号是"无价值"的非标准表示形式,并且在末尾加上逗号会使"无价值"成为元组。但这是一个具有"无值"条目的元组,而不是一个空元组。

注意:这不是零长度的元组,如其他示例所示。外部元组是一个具有一个值的元组,只有该值本身才是空元组。因此,这会在另一个元组内部创建一个空的元组,而另一个元组不为空。对于一个真正的空元组,请使用tuple(),尽管()的行为类似,但这并不完全正确。

1

2

3

4

5

6

7

8

9>>> a = (),

>>> type(a)

>>> len(a)

1

>>> a

((),)

>>> len(a[0]) # the inside tuple is empty, just not the outside one

0

类似地,对于长度为1但值(在b的情况下为零,在c的示例中为")的元组

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17>>> b = 0,

>>> type(b)

>>> len(b)

1

>>>b

(0,)

# now with an empty string

>>> c ="",

>>> type(c)

>>> len(c)

1

>>>c

('',)

>>> len (c[0]) # same len of c[0] as with 'empty' tuple

0

因此,包含了用于显示元组的外括号,但实际上不是元组的一部分,也不需要用于创建元组。

但是,所有这些方括号方法在外层都不是真正的空白,这也是有用例的。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15>>> a = ((),) # extra brackets just to show same as other answers

>>> len(a)

1

>>> if a:

print("not empty")

not empty

>>> e = tuple()

>>> len(e)

0

>>> type(e)

>>> if e:

print("not empty")

>>> # note...did not print...so e acts as false as an empty tuple should

因此,如果您确实需要真正的空元组,请使用tuple(),但是如果您所需要的足够多,可以使用(),或((),)

其中的一部分似乎仅对python 2有效,在python 3中a = (); len(a)返回0

是的,您必须使用a =(),; len(a),因为没有结尾的逗号,您将无法获得所需的结果。 您得到一个元组,而不是一个元组中的一个元组

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器补丁 系统,操作系统补丁服务器

操作系统补丁服务器 内容精选换一换北京时间1月3日,Intel处理器芯片被曝出存在严重的Meltdown和Spectre安全漏洞,漏洞详情如下:漏洞名称:Intel处理器存在严重芯片级漏洞漏洞编号:CVE-2017-5753、CVE-2017-5715、CVE-20…

python drop_duplicates_Pandas drop_duplicates方法不起作用

如错误消息所示,drop_duplicates不能用于数据帧中的列表。但是,您可以在作为str的数据帧上删除重复项,然后使用结果中的索引从原始df中提取行。设置df pd.DataFrame({Keyword: {0: apply, 1: apply, 2: apply, 3: terms, 4: terms},X: {0: […

matlab 周立功can_隐藏在CAN协议底层的编码方式——到底是大端还是小端?

当我们想要讨论CAN协议底层发送到数据线上的二进制信号的编码方式时,最值得关注的两点是:字节编码(Endianness)和比特顺序(Bit Numbering)。先一句话揭晓答案:CAN协议的字节编码是大端编码&…

samba服务器新建文件权限,Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析...

Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析发布时间:2011-01-04 19:10:00 作者:佚名 我要评论本文是基于ubuntu桌面版进行操作说明的。前面的设置都是管理员进行的,这里说的管理员就是可以使用sudo命令&am…

flashpaper打印机没有被正确安装_没有正确保存与安装,可导致80%的轴承提早失效...

轴承损坏可谓司空见惯,可您是否知道,80%的轴承提早失效是因为没有正确地安装。轴承的正确安装,不仅可以增加轴承的使用寿命,降低成本,还可以大大提高生产效益。轴承安装与常规其他部件安装有很大区别,为了实…

语言程序设计第4版黄洪艺_谭浩强《C程序设计》第4版网授精讲班【教材精讲+考研真题串讲】视频网课讲义课程资料...

谭浩强《C程序设计》(第4版)网授精讲班【教材精讲+考研真题串讲】网授课程谭浩强《C程序设计》(第4版)网授精讲班【注:因第11章考试不做要求,所以老师没有讲解!】【共31课时】序号 名…

rabbitmq实例_RabbitMQ不得不知道的点

RabbitMQ的优缺点优点这边的流量削峰功能主要应用在秒杀活动中,在秒杀活动中一般因为流量过大,导致应用挂掉,为了解决这个问题,在应用前端、库存系统前端加入消息队列,在订单系统中,服务器收到用户的请求后…

图片优化_网站里的图片应该如何优化

我们一直都在做网站关键词、内页关键词、标签等。但很多朋友都忽略了网站里的图片如何优化。近年来百度图片识别、360图片识别都在不断升级功能上已经很完善了,所以我们应该对网站图片进行优化,应该做seo的朋友们重视起来, 下面笔者跟大家分享…

rabbitmq 取消消息_mall整合RabbitMQ实现延迟消息

本文主要讲解mall整合RabbitMQ实现延迟消息的过程,以发送延迟消息取消超时订单为例。项目使用框架介绍RabbitMQRabbitMQ是一个被广泛使用的开源消息队列。它是轻量级且易于部署的,它能支持多种消息协议。RabbitMQ可以部署在分布式和联合配置中&#xff0…

vue 将行转换成对象_Vue简化版实现

Vue整体结构Vue: 把data中的成员注入到Vue实例,并且把data中的成员转换成getter, setterObserver: 劫持对象的所有属性, 如有变动可拿最新的值, 通知DepCompiler:解析每一个元素中的指令/插值表达式, 替换成相应的数据Dep: 发布者…

python 如何修改字典的key值_如何使用python技术完成数据集缺失值多种应用场景的滤除或填充?...

前言在数据处理的过程中,我们应该都有这样的体会,本质上数据处理与分析是相互协作,彼此成就的过程。比如,我们会用数据分析统计数据集中的缺失值、异常值,更直观的也会进阶到数据可视化的部分(到达该部分一般是成了文章…

vue 接口节流_vue防抖节流之v-debounce--throttle使用指南

最新封装了一个vue防抖节流自定义指令,发布到npm上,有用欢迎star,谢谢!使用比较简单,取消利用vue注册事件,采用指令来注册事件,防抖指令v-debounce,节流指令v-debounce,使用方式分为两种,传入对…

python graphics 清空 图_【手把手教你】使用Python玩转金融时间序列模型

01引言上一篇推文【Python量化基础】时间序列的自相关性与平稳性着重介绍了时间序列的一些基础概念,包括自相关性、偏自相关性、白噪声和平稳性,以及Python的简单实现。本文在此基础上,以沪深300指数收益率数据为例,探讨如何使用P…

mysql按字段同步_MySQL同步(一) 基础知识

6 MySQL 同步同步功能在MySQL 3.23.15就开始引进了,它可以把一个MySQL服务器上的数据复制到另一个服务器上去。本章描述了MySQL的各种复制特性。介绍了同步的概念,如何设置同步服务器,以及可用服务器的参照。还提供了一系列的常见问题及其答案…

postman linux_Postman使用

postman简介官网https://learning.getpostman.com/用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的…

java与MySQL做购物系统_java Swing mysql实现简单的购物系统项目源码附带指导视频教程...

大家好,今天给大家演示一下由Java swing实现的一款简单的购物程序,数据库采用的是mysql,该项目非常简单,实现了管理员对商品类型和商品的管理及用户注册登录后浏览商品、加入购物车、购买商品等功能,旨在学习Java 图形…

mysql pdm_mysql 生成pdm

1.条件1.1 工具powerDesigner16.51.2 mysql数据库地址或脚本1.3 mysql-connector-odbc-5.3.4-winx64.msi2.操作步骤2.1 database > change DBMS 选择Mysql5.02.2 打开powerDesigner16.5工具, file > reverse Engineer > database确定,则生成对应的pdm.3.图形列表中展示…

python画图宽度_python – 在Matplotlib中设置绘图画布的大小

这是我对Matplotlib最大的挫折之一.我经常使用栅格数据,例如我想添加色彩图,图例和一些标题.来自matplotlib库的任何简单示例都会导致不同的分辨率,因此重新采样数据.特别是在进行图像分析时,您不需要任何(不需要的)重采样. 这是我通常做的,虽然我很想知道是否有更简单或更好的…

java 调用htm中js函数_从 node.js Web应用中调用 WASM 函数 | WebAssembly 入门教程

文中所有的代码都可以在 https://github.com/second-state/wasm-learning/tree/master/nodejs/hello 中找到在之前的教程中,我们讨论了如何从 Web 浏览器中的 JavaScript 应用程序访问 WebAssembly 函数。WebAssembly 快问快答从 Rust 开始入门 WebAssembly | WebAs…

python将数据存入mysql数据库中_python3 两种方法将数据存入mysql数据库

方法一:(数据量小的时候推荐使用这种)第一步:pip install mysqlclient这里我没有报错 也许你可能会报错Read timed out 此时不要慌,这是因为你的网络问题,你使用豆瓣源再次下载:pip install -i https://pypi.douban…