如何创建仅包含一个元素的元组

罗素:

在下面的示例中,我希望所有元素都是元组,为什么当元组仅包含单个字符串时,它会转换为字符串?

>>> a = [('a'), ('b'), ('c', 'd')]
>>> a
['a', 'b', ('c', 'd')]
>>> 
>>> for elem in a:
...     print type(elem)
... 
<type 'str'>
<type 'str'>
<type 'tuple'>
乔纳森·莱因哈特(Jonathon Reinhart):

因为前两个元素不是元组;他们只是字符串。括号不会自动使它们成为元组。您必须在字符串后添加一个逗号,以指示python它应该是一个元组。

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>

要修复示例代码,请在此处添加逗号:

>>> a = [('a',), ('b',), ('c', 'd')]

             ^       ^

Python文档

一个特殊的问题是包含0或1项的元组的构造:语法有一些额外的怪癖来容纳这些项。空元组由一对空括号组成;通过在值后面加上逗号来构造具有一项的元组(将单个值括在括号中是不够的)。难看,但是有效。

如果您确实讨厌尾随的逗号语法,则一种解决方法是将a传递list给该tuple()函数:

x = tuple(['a'])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建仅包含一个元素的元组

如何创建仅包含一个元素的Python集?

如何为数据框创建一个函数来检查大元组是否包含小元组的所有元素?

如何在标准ML中仅使用一个元素构造一个元组?

如何创建一个包含 16 个元素的列表?

我有一个元组列表,并且想创建一个列表,其中仅包含元组中字符串之一的一个实例

如何制作包含元素的列表以仅包含一个元素的列表列出?

在Julia 1.0中,如何设置仅包含一个键值对的命名元组?

如何创建一个元组序列?

一个ArrayList包含两个元素,如何仅返回String元素?

如何编写一个接受包含整数元素的元组的函数?

如何从两个列表创建元组,以便一个列表元素重复

如何从仅匹配 Haskell 中元组的第一个值的元组列表中删除元素

是否有一个zip函数来创建包含两个以上元素的元组?

jsonschema:仅包含一个默认元素的元素列表

如何创建一个模式来匹配元组列表中的所有元素?

如何从Perl中仅包含一个元素出现且仅包含一个对应元素出现的数组中提取数据

当元组是字典的值时,仅检索元组的一个元素

我该如何编写一个需要一个sequence的函数,并返回一个仅包含一个元素的映射的相同序列?

如何声明一个包含委托的元组?

获取包含元组的列表的索引,其中元组的第一个元素与模式匹配

如何检查一个集合是否仅包含来自另一个集合的元素?

断言列表仅包含一个满足条件的元素

Bash-readarray仅包含一个元素

组件模板应仅包含一个根元素

Android列表仅包含最后一个元素

数组列表仅包含一个元素

如何使用Groovy的JsonBuilder创建一个包含两个元素的对象?

如何创建一个包含三个节点元素并设置相同值的对象?