【问题标题】:Unable to use for loop in nested lists无法在嵌套列表中使用 for 循环
【发布时间】:2023-02-09 20:13:30
【问题描述】:

对于以下列表:

house = [["hallway", 11.25],["kitchen", 18.0],["living room", 20.0],["bedroom", 10.75],["bathroom", 9.50]]

当我尝试使用 for 循环时:

for room in house:
    print(" The " +  room[0]  + " is " +  str(room[1])  + " sqm ")

这给出了预期的完整输出(从索引 0 到 4),但是如果我想要一个不同的索引,打印语句应该是什么?例如。我希望循环从不同的索引开始,例如。索引 = 1 或 2?

我试过这个:

print(" The " +room[1][0]+ " is " +str(room[1][1])+ " sqm ")

但它给了我一个错误: 'float' object is not subscriptable

【问题讨论】:

  • 欢迎来到堆栈溢出。这是一个简单的错字。当然 room[1][0] 不会起作用,因为 room 是您为每个子列表(如 ["bathroom", 9.50])提供的名称(通过 for 循环)。您有正确的代码可以直接索引到 house 列表(以获取厨房信息),但如果您想这样做,您实际上必须使用house 列表。 “我希望循环从不同的索引开始,例如,索引 = 1 或 2?”这是不可理解的。你是说你想看到输出除了走廊?或者只是什么?

标签: python-3.x for-loop nested-lists


【解决方案1】:

您可以对列表进行切片,然后对其进行迭代:

for room in house[1:3]:
    print(" The " +  room[0]  + " is " +  str(room[1])  + " sqm ")

此示例迭代索引 1 和索引 2。

【讨论】:

    猜你喜欢
    • 2018-07-13
    • 1970-01-01
    • 2011-04-07
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 2013-03-17
    • 1970-01-01
    相关资源
    最近更新 更多