在嵌套列表中查找所选元素的索引

时间:2020-10-22 21:52:14

标签: python

需要找到元素“。”的索引。在嵌套列表中,并将其添加到新列表中。 结果应如下所示:

System.out.println("Now rolling " + chosenRollNumber + " times. ");
int[] count = new int[numberOfSides];
for (x = 0; x < chosenRollNumber; x++) {
    dieNumber = RNG(randomNum, min, max);
    System.out.println("dieNumber " + dieNumber);
    int dieIndex = (dieNumber - min) % numberOfSides;
    count[dieIndex]++;
}

有没有更简单的方法,也许是列表理解?

2 个答案:

答案 0 :(得分:1)

您可以使用列表推导,但是因为它是嵌套的,所以并没有那么简单。

coordinates = [
    [r, c]
    for r, row in enumerate(board)
    for c, cell in enumerate(row)
    if cell == "."
    ]

顺便说一句,调用字符串col令人困惑,因此使用in也是如此,因为您要检查是否相等而不是包含。所以我改变了这些位。

答案 1 :(得分:0)

列表理解!

board = [
    ['X', '0', '.'],
    ['.', 'X', '0'],
    ['0', '.', 'X']]

coordinates = [[r, c] for r, l in enumerate(board) 
                      for c, entry in enumerate(l) if entry == '.']

print(coordinates)