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

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."

推荐答案

试试这个

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


def searchBusyWorkers(array,word):
    out = []
    for a in array:
        for i in a:
            for x in i:
                try:
                    if word in x:
                        out.append(i)
                except TypeError:
                    if word == x:
                        out.append(i)
    if out:
        return out
    return "No workers have that condition."

print(searchBusyWorkers(array,word))

输出

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

Python相关问答推荐

PyTorch卷积自动编码器,输出维度与输入不同

使用Python和PRNG(不是梅森龙卷风)有效地生成伪随机浮点数在[0,1)中均匀?

如何让我的Tkinter应用程序适合整个窗口,无论大小如何?

Python中的函数中是否有充分的理由接受float而不接受int?

如何使用entry.bind(FocusIn,self.Method_calling)用于使用网格/列表创建的收件箱

LAB中的增强数组

使用LineConnection动画1D数据

Pytest两个具有无限循环和await命令的Deliverc函数

将输入管道传输到正在运行的Python脚本中

Julia CSV for Python中的等效性Pandas index_col参数

把一个pandas文件夹从juyter笔记本放到堆栈溢出问题中的最快方法?

ThreadPoolExecutor和单个线程的超时

我想一列Panadas的Rashrame,这是一个URL,我保存为CSV,可以直接点击

在Django admin中自动完成相关字段筛选

Python列表不会在条件while循环中正确随机化'

计算天数

合并帧,但不按合并键排序

OpenGL仅渲染第二个三角形,第一个三角形不可见

pysnmp—lextudio使用next()和getCmd()生成器导致TypeError:tuple对象不是迭代器''

关于两个表达式的区别