python - 创建包含特定元素的数组列表

标签 python arrays

我需要创建一个函数来搜索某个字符串是否在数组中,并创建一个包含包含它的所有元素(列表)的列表。例如:

word = 'busy'
array = [[['99', 'Normal', [], ['busy', '0'], 28016.2, 'working', '1']],[['F27', 'Normal', [], ['free', '0'], 28016.537865230806, 'working', '1']]]

所以我的输出应该是:

[['99', 'Normal', [], ['busy', '0'], 362.01, 'working', '1']]

但是当它显然存在时,我只得到表明字符串不存在的验证。这是代码:

array = [[['99', 'Normal', [], ['busy', '0'], 28016.2, 'working', '1']],[['F27', 'Normal', [], ['free', '0'], 28016.537865230806, 'working', '1']]]

def searchBusyWorkers(array):
    busy = []
    for x in array:
        if 'busy' in x:
            ind = x.index('busy')
            busy.append(array[ind])
            return busy
        else:
            return "No workers have that condition."

最佳答案

'busy' in x 失败,因为“busy”嵌套更深一层。换句话说,x 中没有 'busy',但 x 中有一个包含字符串“busy”的子数组。

由于您提到“忙碌”将始终位于特定索引处,因此您需要解压缩以获取子数组,然后检查该索引 -

for x in array:
    elements, *_ = x
    if 'busy' in elements[3]:
        print(x)

输出

[['99', 'Normal', [], ['busy', '0'], 28016.2, 'working', '1']]

关于python - 创建包含特定元素的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72315753/

相关文章:

javascript - 让我的 javascript 数组能够访问includes()

python max() 函数在 pandas 列上使用时失败并且整数失败

android - 如何获取 JSONArray 的第一个值?

python - 通过实现堆排序的递归按值或引用传递

python - 通过切片索引和条件行设置值

java - 获取 NullPointerException

c - 将文件读入结构

php - 如何将json数组数据插入mysql?

python - 属性错误 : 'module' object has no attribute 'windll' in python

python - 合并 tensorflow 数据集批处理