Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的乘法元组_Python_Tuples_Multiplication - Fatal编程技术网

Python中的乘法元组

Python中的乘法元组,python,tuples,multiplication,Python,Tuples,Multiplication,我需要创建一个嵌套元组,其中一些值是相同的,所以我尝试将它们相乘 t = ((('a', 'b'),) * 3) print t 印刷品 (('a', 'b'), ('a', 'b'), ('a', 'b')) 有没有语法上更好的方法 谢谢。一种方法是不要使用太多的括号: t = (('a', 'b'), ) * 3 同样有效 您可以尝试以下方法: t = (('a', 'b'),)*3 也就是说,只需去掉括号和它的done表达式的表示可能会稍微简单一些,但它几乎是规范的。我会用 t =

我需要创建一个嵌套元组,其中一些值是相同的,所以我尝试将它们相乘

t = ((('a', 'b'),) * 3)
print t
印刷品

(('a', 'b'), ('a', 'b'), ('a', 'b'))
有没有语法上更好的方法


谢谢。

一种方法是不要使用太多的括号:

t = (('a', 'b'), ) * 3
同样有效

您可以尝试以下方法:

t = (('a', 'b'),)*3

也就是说,只需去掉括号和它的done

表达式的表示可能会稍微简单一些,但它几乎是规范的。我会用

t = 3 * (('a', 'b'), )
它删除一组括号,并在显示元组之前直观地警告乘法。您可能会想象,可以删除另一组括号以给出

t = 3 * ('a', 'b'),
但遗憾的是,这个表达式的结果并不是必需的,而是给出了

(('a', 'b', 'a', 'b', 'a', 'b'),)
i、 e.其唯一元素是生成的六个元素的元组。

另一种选择:

from  itertools import repeat
tuple(repeat(('a', 'b'), 3))

为什么是外圆括号?他们什么也没做;它们只是对括号进行分组,就像在
(1+2)*3
中一样,但在这样的上下文中,它们无助于消除任何分组的歧义。我的想法是,它们是创建外部元组所必需的,而不是用于任何分组。