Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.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 - Fatal编程技术网

Python 从列表列表创建元组的元组

Python 从列表列表创建元组的元组,python,tuples,Python,Tuples,我有一个len 20的列表,我想动态地创建一个相同大小的元组,因为元组要快一点, 所以我有一个类似的列表 my_list=[[1,2,3,4],[5,7,8,9],[7,8,5,3]] 我想创建一个像这样的元组 my_tuple=((1,2,3,4),(5,7,8,9),(7,8,5,3)) 我试过了 >>> my_tuple=tuple(my_list) >>> ([1, 2, 3, 4], [5, 7, 8, 9], [7, 8, 5, 3])

我有一个len 20的列表,我想动态地创建一个相同大小的元组,因为元组要快一点, 所以我有一个类似的列表

 my_list=[[1,2,3,4],[5,7,8,9],[7,8,5,3]]
我想创建一个像这样的元组

my_tuple=((1,2,3,4),(5,7,8,9),(7,8,5,3))
我试过了

>>> my_tuple=tuple(my_list)

>>> ([1, 2, 3, 4], [5, 7, 8, 9], [7, 8, 5, 3])

>>> for i in my_list:
        my_tuple=my_tuple+tuple(i)

>>> (1, 2, 3, 4, 5, 7, 8, 9, 7, 8, 5, 3)
因此,我通过硬编码列表项的索引来创建元组,如

my_tuple=tuple((tuple(my_list[0]),tuple(my_list[1]),tuple(my_list[2])))
有没有一种方法可以动态创建元组,因为它很长???

很简单

>>> my_tuple = tuple(tuple(i) for i in my_list)
>>> print my_tuple
((1, 2, 3, 4), (5, 7, 8, 9), (7, 8, 5, 3))
关于元组“更快”的说法,您应该对代码进行分析,并根据转换成本权衡任何可能的收益。通常,当我需要一个不可变的集合时,我会使用一个元组

>>> my_tuple = tuple(tuple(i) for i in my_list)
>>> print my_tuple
((1, 2, 3, 4), (5, 7, 8, 9), (7, 8, 5, 3))
关于元组“更快”的说法,您应该对代码进行分析,并根据转换成本权衡任何可能的收益。通常,当我需要一个不可变的集合时,我会使用一个元组

>>>tuple(map(tuple, my_list))
((1, 2, 3, 4), (5, 7, 8, 9), (7, 8, 5, 3))
试试这个

>>>tuple(map(tuple, my_list))
((1, 2, 3, 4), (5, 7, 8, 9), (7, 8, 5, 3))

元组并没有快一点。它们是不同类型的对象,不允许更改(它们是不可变的)。在需要该属性时使用它们,而不是因为它们可能更快。这是过早的优化。元组的速度并没有快一点。它们是不同类型的对象,不允许更改(它们是不可变的)。在需要该属性时使用它们,而不是因为它们可能更快。这是过早的优化。我最初投了反对票,因为你正在生成一个元组列表。更正后,我用赞成票替换了反对票。没有时间编辑。快速向下投票:请注意,从
map
函数生成的
列表
转换为
元组
效率低下。我最初向下投票是因为您生成了元组列表。更正后,我用赞成票替换了反对票。没有时间编辑。快速向下投票:请注意,从
映射
函数生成的
列表
转换为
元组
效率低下。