python - 在 python 中填充列表

标签 python list tuples

我有一系列表示坐标的 Python 元组:

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 开头的列表,即创建空白然后填充它们,但看起来您不能。

想法是在之后对列表进行排序。我知道我可以用字典来做到这一点,但据我所知,字典不能按键排序。 更新:我现在知道他们可以 - 查看已接受的解决方案。

编辑: 我想要做的是创建一个二维数组来表示用元组坐标描述的矩阵,然后按顺序迭代它。 如果我使用字典,我无法保证按顺序迭代键 -> (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] = something

更新: 尝试使用 NumPy ,它提供了对矩阵和数组的广泛操作。引用网站上可用的 NumPy 上的免费 pfd(3.4.3 平面迭代器索引):“如前所述,X.flat 返回一个迭代器,该迭代器将迭代整个数组(以 C 连续样式与最后一个索引变化最快”。看起来像你需要的。

关于python - 在 python 中填充列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/696874/

相关文章:

Python - 列表理解如何一次插入 2 个元素?

Python 比较标记化列表

pandas - 从元组列表创建 Pandas 数据框

debugging - 调试时如何删除异常 "Predefined type ' ValueTuple` 2' must be a struct"?

Python 从列表中提取空白

python - Django Rest Framework默认图像字段值返回验证

python - Python 3.3 中的非线性拟合

python - 二元分类问题的准确率高得令人怀疑

list - 方案:列表的CAR和CDR

python - 从元组列表中查找匹配项