Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List - Fatal编程技术网

Python 如何从列表中创建二维表?

Python 如何从列表中创建二维表?,python,list,Python,List,从表示曲面上的点的元组列表开始 list = [(48, 228), (96, 204), (120, 192), ... ] 创建新列表的python方法是什么,这样我们就可以调用原始列表中的值,就像它们分布在网格上一样 像这样: >>>print grid[0][0] (48, 228) >>>print grid[0][1] (96, 204) 我并不觉得有什么困难,也许一个简单的grid=[list]就足够了 如果要将其作为快速二维阵列,请使用nu

从表示曲面上的点的元组列表开始

list = [(48, 228), (96, 204), (120, 192), ... ]
创建新列表的python方法是什么,这样我们就可以调用原始列表中的值,就像它们分布在网格上一样

像这样:

>>>print grid[0][0]
(48, 228)
>>>print grid[0][1]
(96, 204)

我并不觉得有什么困难,也许一个简单的
grid=[list]
就足够了

如果要将其作为快速二维阵列,请使用numpy:

import numpy as np
grid = np.array(list).reshape(1,-1)
print grid[0,1] #prints (96, 204)
如果数据变得更大或维度更高,请始终使用numpy数组,不要使用列表列表


一句话:请不要调用变量
list
,它会隐藏内置方法
list

我真的看不出困难,也许一个简单的
grid=[list]
就足够了

如果要将其作为快速二维阵列,请使用numpy:

import numpy as np
grid = np.array(list).reshape(1,-1)
print grid[0,1] #prints (96, 204)
如果数据变得更大或维度更高,请始终使用numpy数组,不要使用列表列表


备注:请不要调用变量
list
,它将隐藏内置方法
list

,这是一个列表理解,可以解决此问题:

l = [(48, 228), (96, 204), (120, 192), ... ]
# 'width' is the width of your bidimensional table (grid)
bidimensional = [l[a*width:(a+1)*width] for a in xrange(len(l)/width)]
解释:

[  # make a list of:
  l[a*width:(a+1)*width]
    # get the 'a'-th slice of length 'width' of the initial list
  for a in xrange(len(l)/width)  # for 'len(l)/width' slices
]
测试:


这是解决此问题的列表理解:

l = [(48, 228), (96, 204), (120, 192), ... ]
# 'width' is the width of your bidimensional table (grid)
bidimensional = [l[a*width:(a+1)*width] for a in xrange(len(l)/width)]
解释:

[  # make a list of:
  l[a*width:(a+1)*width]
    # get the 'a'-th slice of length 'width' of the initial list
  for a in xrange(len(l)/width)  # for 'len(l)/width' slices
]
测试:


您希望网格[1][0]是什么?如果在
网格[0][x]
之上的任何内容都存在值,那么
网格=[list]
就可以了,但可能不是您想要的。你能说得更具体一点吗?@Tim我想
(96228)
,可能是打字错误。你希望网格[1][0]是什么?如果在
网格[0][x]
之上的任何内容都存在值,那么
网格=[list]
就可以了,但可能不是您想要的。你能说得更具体些吗?@Tim我想这可能是打字错误。事实上,这很好地解决了这个问题。我希望有一天我的巨蟒巫毒会像你的一样强大。事实上,这很好地解决了这个问题。我希望有一天我的巨蟒巫毒会像你的一样强大。