【问题标题】:Is there a way to index a nested list inside a dictionary? PYTHON有没有办法在字典中索引嵌套列表? PYTHON
【发布时间】:2020-08-11 04:29:03
【问题描述】:

我有一本这样的字典:

dict = {"TestA" : [[1,2,3],[4,5,6]], "TestB" : [[7,8,9],[10,11,12]]}

当我尝试提前运行代码以创建单行字符串时,我收到错误 ValueError: too many values to unpack (expected 2)

key, val = list(dict.items())[0][0]
cooltest = str(key) + str (val)

我有点理解为什么我会收到错误(因为预期有 2 个“变量”,它们是键和值,但它得到了超过 2 个)。然而,正如所见,我已经索引到整数 1,所以我的 val 应该是 1,我的键应该是 TestA。甚至可以索引字典内的嵌套列表吗?提前感谢您的时间和建议!

编辑:解决方案是只使用两种不同的方法(.keys 和 .values)而不是只使用 .items

【问题讨论】:

    标签: python list dictionary indexing indexof


    【解决方案1】:

    首先下面的代码给了我一个错误。

    dict = {TestA : [1,2,3],[4,5,6], TestB : [7,8,9],[10,11,12]}
    

    我假设你想要的是

    dict = {"TestA": [[1,2,3],[4,5,6]], "TestB": [[7,8,9],[10,11,12]]}
    

    另外,list(dict.items()) 等于 [('TestA', [[1, 2, 3], [4, 5, 6]]), ('TestB', [[7, 8, 9], [10, 11, 12]])]。 因此,list(dict.items())[0][0] 是一个字符串,这会导致您的代码出错。您可能想要的是list(dict.items())[0][1],它等于[[1, 2, 3], [4, 5, 6]]。

    【讨论】:

    • 我的错,我打算将键设为字符串。如果我使用 key,val 格式运行代码,则会出现错误。
    • @SomeoneRandumb 你得到什么错误?修复该行后,我在运行您的代码时没有收到任何错误。
    • 如果你像我一样运行代码(编辑后),你会得到一个错误提示:ValueError: too many values to unpack (expected 2)
    • 我将如何拔出 1?我使用第一个 [0] 来表明我想要来自“TestA”的东西,第二个 [0] 表明我想要列表 [1,2,3],如果我使用第三个 [0] 来获取1,我收到一条错误消息:ValueError: not enough values to unpack (expected 2, got 1)。还有其他建议吗?
    • @SomeoneRandumb list(dict.items())[0][1][0] 等于 [1, 2, 3]。如果您想要号码1,请尝试list(dict.items())[0][1][0][0]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多