【问题标题】:Python Array with string AND integer indices具有字符串和整数索引的 Python 数组
【发布时间】:2016-03-17 08:37:20
【问题描述】:

我正在尝试创建一个使用字符串和整数作为索引的数组。

aDemo[int]["string"] = "Test"

是否可能,如果可以,如何声明?

【问题讨论】:

  • 你的意思是二维数组吗?

标签: python arrays string


【解决方案1】:

可以通过键(如字符串或大多数其他内容)索引的数据结构称为associative array。它的内置 python 实现称为dict (dictionary)。您可以使用花括号语法创建dict

aDemo = []
a = { "apple": "red", "banana": "yellow", "cucumber": "green" }
aDemo.append(a)
print aDemo[0]["apple"] # "red"

dict还有很多其他方法和方法可以修改和创建,查看官方文档即可。

【讨论】:

  • 我发现使用 aDemo.append(a.copy()) 很重要。否则每个 aDemo[x]["apple"] 将具有相同的值。
  • 我不明白x 应该是什么索引。如果您直接附加a,您实际上只是在aDemo 中存储对a 的引用,因此对a 的任何更改也会影响aDemo[0]。如果您不希望这样,您确实需要附加a 的副本。
【解决方案2】:

你可以像这样声明一个数组:

fruits["apple","orange","banana"]

并访问其内容,例如:

fruits[0] -> apple
fruits[1] -> orange

【讨论】:

    【解决方案3】:

    试试这个

    dict中使用list

    l=[0,1,1,{"agf":"hi"}]
    >>> l
    [0, 1, 1, {'agf': 'hi'}]
    >>> l[3]['agf']
    'hi'
    

    【讨论】:

    • 您的意思是在列表中使用字典,而不是相反。
    猜你喜欢
    • 2014-11-25
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多