dict(Python)中的重叠选择

2024-06-16 11:18:27 发布

您现在位置:Python中文网/ 问答频道 /正文

来自MATLAB,我对Python真的很陌生,我还在努力理解它的语法。 我成功地做了我想做的事,但我相信有一个正确的方法可以做到这一点,只有一行

serialsToFind = ['43788273-1', '45788259-2', '87788202']
dataSelection = []
from numpy import linspace
serials = linspace(0,len(data)-1,len(data), dtype='int')
for serialToFind in serialsToFind:
    for serial in serials:
        if data[serial]['SerialNumber'][:8] == serialToFind[:8]:
            dataSelection.append(data[serial])

非常感谢

最大


Tags: 方法infromfordatalenserial语法
1条回答
网友
1楼 · 发布于 2024-06-16 11:18:27

你不能说data是什么。然而,你可能想要的是

dataSelection = [item for serialToFind in serialsToFind for item in data
    if item['SerialNumber'][:8] == serialToFind[:8]]

注:一般情况下,不要这样做

serials = linspace(0,len(data)-1,len(data), dtype='int')
for serial in serials:

就这么做吧

for serial in range(len(data)):

相关问题 更多 >