这是一个非常简单的问题(我是Python的新手).
我基本上想要一个像PHP数组的数据结构 - 也就是说,我想初始化它然后只是添加值.
据我所知,这是不可能的Python,所以我有我可能想要用作索引的最大值,但我无法弄清楚如何创建指定长度的空列表.
另外,列表是一个正确的数据结构,用于模拟它应该只是一个数组?我试图使用一个数组,但它似乎不满意存储字符串.
编辑:对不起,我没有解释清楚我在寻找什么.当我将项目添加到列表中时,我不想按顺序将它们放入,而是我想将它们插入列表中的指定插槽中.
即,我希望能够做到这一点:
list = [] for row in rows: c = list_of_categories.index(row["id"]) print c list[c] = row["name"]
Ned Batcheld.. 10
根据您将如何使用列表,可能实际上您需要一本字典.这将有效:
d = {} for row in rows: c = list_of_categories.index(row["id"]) print c d[c] = row["name"]
......或更紧凑:
d = dict((list_of_categories.index(row['id']), row['name']) for row in rows) print d
PHP数组更像Python dicts,而不像Python列表.例如,他们可以有键的字符串.
令人困惑的是,Python有一个数组模块,被描述为"有效的数值数组",这绝对不是你想要的.
根据您将如何使用列表,可能实际上您需要一本字典.这将有效:
d = {} for row in rows: c = list_of_categories.index(row["id"]) print c d[c] = row["name"]
......或更紧凑:
d = dict((list_of_categories.index(row['id']), row['name']) for row in rows) print d
PHP数组更像Python dicts,而不像Python列表.例如,他们可以有键的字符串.
令人困惑的是,Python有一个数组模块,被描述为"有效的数值数组",这绝对不是你想要的.