首页 > 解决方案 > 检查随机生成的数组中是否存在值

问题描述

数组是由固定代码随机生成的,我们必须根据该代码工作。我需要检查数组中是否存在特定值。

我已经尝试了这两种解决方案,但这些都不起作用:

if a[5][0] in a
if a[5][0] != ""

我提供了一个数组示例

[['Stack 5', 'Suit C', 9, 0],
  ['Stack 4', 'Suit B', 6, 0],
  ['Stack 6', 'Suit B', 8, 0],
  ['Stack 3', 'Suit C', 3, 0],
  ['Stack 1', 'Suit C', 10, 0],
  ['Stack 2', 'Suit B', 4, 0]]

基本上我需要检查数组中是否存在“堆栈 X”,然后进行操作。有时,随机生成的数组可能会错过任何特定的堆栈,例如,

[['Stack 5', 'Suit C', 9, 0],
 ['Stack 4', 'Suit B', 6, 0],
 ['Stack 6', 'Suit B', 8, 0],
 ['Stack 3', 'Suit C', 3, 0],
 ['Stack 2', 'Suit B', 4, 0]]

在这种情况下不会生成堆栈 1,我需要检查它是否已生成。它基本上是数组中的数组。

编辑: 感谢您的帮助,但我使用 for 循环解决了这个问题。这是我使用的代码。

for i in range(len(a)):
    if a[i][0] == 'Stack 1':

标签: pythonarrayslist

解决方案


像这样的东西会起作用:

def a_contains(num):
    for item in a:
        if 'Stack {}'.format(num) in item:
            return True
    return False

推荐阅读