填写列表B. python
我有一些元组 Python, 代表坐标:
我想创建以下列表:
我得到了 IndexError: 列出索引超出范围。
我的背景是 PHP, 我期待的 Python 您可以创建以索引开头的列表。 > 0, 也就是说,弥补空白,然后填补它们,但似乎你不能。
这个想法是稍后对列表进行排序。 我知道我可以用字典做到,但据我所知,字典不能按键排序。
更新
: 现在我知道他们可以看到所做的决定。
编辑:
我想创建一个数组 2D, 这将表示由核坐标描述的矩阵,然后以顺序重复。
如果我使用字典,我无法保证键上的迭代将按顺序排列 -> /0,0/ /0,1/ /0,2/ /1,0/ /1,1/ /1,2/ /2,0/ /2,1/ /2,2/
有人可以帮忙吗?
tuples = [/1,1/, /0,1/, /1,0/, /0,0/, /2,1/]
我想创建以下列表:
l = []
for t in tuples:
l[ t[0] ][ t[1] ] = something
我得到了 IndexError: 列出索引超出范围。
我的背景是 PHP, 我期待的 Python 您可以创建以索引开头的列表。 > 0, 也就是说,弥补空白,然后填补它们,但似乎你不能。
这个想法是稍后对列表进行排序。 我知道我可以用字典做到,但据我所知,字典不能按键排序。
更新
: 现在我知道他们可以看到所做的决定。
编辑:
我想创建一个数组 2D, 这将表示由核坐标描述的矩阵,然后以顺序重复。
如果我使用字典,我无法保证键上的迭代将按顺序排列 -> /0,0/ /0,1/ /0,2/ /1,0/ /1,1/ /1,2/ /2,0/ /2,1/ /2,2/
有人可以帮忙吗?
没有找到相关结果
已邀请:
9 个回复
小明明
赞同来自:
更新:
尝试使用
http://numpy.scipy.org/
, 它提供了矩阵和阵列的各种操作。 引用免费 pfd on NumPy, 现场提供 /3.4.3 Flat Iterator indexing/:
"如前面提到的, X.flat 返回将整理整个数组的迭代器 /以C-Trowsy款式更快地更换了最新索引"
. 看起来这就是你需要的。
冰洋
赞同来自:
但是,关于对听写的迭代略有不同于列表中的迭代。 这将有助于您功能。 keys//, values// 和 items//.
EDIT: 尝试任何类似订单的东西:
风见雨下
赞同来自:
您希望将其用作二维列表。
这就是你得到索引错误的原因。
您有以下选项:
创建地图并使用元组 t 作为索引:
你会收到参赛作品 l 作为:
如果您需要传统的阵列结构,我会建议您查看
http://www.numpy.org/
. 通过 numpy 您将获得具有索引的N维数组 "traditional".
正如我所提到的那样,使用 numpy,
通过 numpy 您可以创建一个填充零,单位或的二维数组 ...
您可以填充任何理想的索引值。 [x, y] 在您的要求。
当然,您可以将行和列或整个数组整理为列表。
快网
赞同来自:
您可以重复您最初提供的方式。
诸葛浮云
赞同来自:
https://coderoad.ru/696874/
,
然后你可以做任何你想做的事。
小姐请别说爱
赞同来自:
虽然它与之完全相同 "排序的字典", 你
你可以
易于将字典变为列表,按键排序,似乎需要:
/我转身
在截止日期 "something" 只是强迫代码工作/
但是,为您的案例使用它。 /如果我正确地了解他/, 您仍然需要将字典填写到值 None 或者每个坐标覆盖范围的其他东西 "empty"/
二哥
赞同来自:
当你把东西放到位置时
t[1]
. 为此,我会使用
http://docs.python.org/library ... dict:
.
只要
是一个 defaultdict, 如果一个
不存在,它会为您创造一个空的问题
到位
t[1]
.
注意:最终这与答案相同 @unwesen's, 没有轻微的无聊手动检查内部区域的存在。 在一个并行答案中描述它。
小明明
赞同来自:
坐标空间
, 而不是钥匙 dict, 就像您的列表列表一样。 使用 .get, 您可以指定空单元格或使用的默认值 "
", 在创建期间确定默认值 dict. 如..
如果您真的需要一个真实的列表,您可以直接构建它,如下所示:
如果元组列表很可能是长的,那么为了绩效考虑,您可以使用搜索套件,以来 "
" 执行列表扫描,而不是快速搜索 hash. 即将第二个字符串更改为:
小姐请别说爱
赞同来自:
我想你宣布它
编辑
: 这是一个语法错误
</stdin>