【问题标题】:How do I write the index for a list of lists如何为列表列表编写索引
【发布时间】:2016-08-02 21:19:04
【问题描述】:

我有一个包含 3 个列表的列表,每个列表包含 1 到 9 之间的随机整数:

lists= [[1,3,5],[2,4,6],[7,8,9]]

我要求用户选择任何一位数字。我正在制作一个程序,它会找到比用户输入小一的数字,然后决定列表中的下一个数字(假设它不是列表的末尾)是更大还是更小。

for x in lists:
    for i in x:
        if i= user_choice-1:

我卡住了。

假设 user_choice 是 3。我希望程序在嵌套列表中找到数字 3-1=2,然后将 2 后面的数字(在本例中为 4)与 user_choice 进行比较。

【问题讨论】:

  • 所以对于列表列表中的每个列表,您想要 x[user_choice+1] ?
  • if i = user_choice - 1: 是无效语法。 =是赋值,如果你想检查是否相等你需要写`if i == user_choice - 1:
  • 索引嵌套索引应该是mainList[main_index][sub_index]
  • 如果您举例说明user_choice 是什么或可能是什么以及您期望返回值是什么,它可能会澄清这个问题。不清楚你打算用代码做什么。

标签: python list syntax


【解决方案1】:

如果你的列表是

lists= [[1,3,5],[2,4,6],[7,8,9]]

要访问“1”,您可以输入:lists[0][0] 要访问“8”,您可以输入:lists[2][1]

*记住列表的索引从 0 开始!!! :)

【讨论】:

    【解决方案2】:

    我对您要实现的目标感到有些困惑,但您可以使用以下方法在 for 循环中获取索引和元素:

    for index, value in enumerate(my_list):
        # Do stuff here
    

    或者你可以找到列表中任何元素的索引:

    index = my_list.index(value)
    

    顺便说一句,不要忘记在 if 语句中将 = 更改为 ==

    【讨论】:

    • 最终我想做的是将项目从一个列表交换到另一个,但由于列表是嵌套的,我需要知道如何正确编写我想要交换的元素的索引。
    【解决方案3】:

    如果我理解正确,你想要:

    for x in lists:
        for i in range(len(x)):
            if x[i] == user_choice-1 and i < len(x)-1:
                if x[i+1] > x[i]:
                    #Next value is bigger...
                else:
                    #Next value is smaller...
    

    【讨论】:

      【解决方案4】:
      lists= [[1,3,5],[2,4,6],[7,8,9]]
      
      for x in lists:
          index = 0
          for i in x:
              index += 1
              if i == user_choice - 1:
                  print(x[index])
              else:
                  (...)
      

      【讨论】:

        猜你喜欢
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-10
        • 1970-01-01
        • 2015-04-25
        • 2023-03-06
        • 1970-01-01
        相关资源
        最近更新 更多