TL;DR:需要对列表A中的数据进行切片,其中元素也存在于列表B中。你知道吗
嗨,我正在尝试比较从HTTP GET请求接收的数据。你知道吗
第一张单子叫做“科目”,我有一张单子,上面列出了我的课程提供的所有科目。第二个列表叫做DETAILS,我有关于每一个主题的细节,包括他们的名字。两个列表的顺序相同。注意:有些科目可以提供多个课程。文章末尾的输入和输出示例。你知道吗
我这里的问题是,我需要精确定位并分离每个主题的数据,以发送到我的数据库。我想比较两个列表并在主题名称出现时保存索引,但我没能得到正确的结果。你知道吗
以下是我迄今为止尝试的代码之一:
def format(details, subject):
indexes = []
x = details
indices = [details.index(x) for x in subject]
enum = list(enumerate(indexes))
for i in range(enum[0][1], enum[-1][1]):
if i in enum[:][1]:
print("\n\n")
print(details[enum[i][1]], end=" ")
我希望我说得够清楚。提前谢谢!你知道吗
编辑:
输入数据示例:
SUBJECT = ['EPRI02 - ADMINISTRAÇÃO', 'ECAI06.1 - AUTOMAÇÃO DE SISTEMAS INDUSTRIAIS I', 'ECA022.2 - Automação e Supervisão de Processos II (Prática)']
DETAILS = ['EPRI02 - ADMINISTRAÇÃO', '2018.1', 'IGOR AZEVEDO DOS SANTOS CITTY ROSA (32h)', 'REGULAR', 'Presencial', 'ABERTA', '6T45', 'Anexo 1 - Sala 5', '90/91 alunos',
'ECAI06.1 - AUTOMAÇÃO DE SISTEMAS INDUSTRIAIS I', '2018.1', 'LUIZ FELIPE PUGLIESE (32h)', 'REGULAR', 'Presencial', 'ABERTA', '6M45', 'Anexo 3 - Sala 11', '13/24 alunos',
'ECA022.2 - Automação e Supervisão de Processos II (Prática)', '2018.1', 'LUIZ FELIPE PUGLIESE (32h)', 'REGULAR', 'Presencial', 'ABERTA', '5M23', 'Prédio 2 - Sala 2211', '9/12 alunos', '2018.1', 'LUIZ FELIPE PUGLIESE (32h)', 'REGULAR', 'Presencial', 'ABERTA', '5T12', 'Prédio 2 - Sala 2211', '11/12 alunos']
输出数据示例:
SUBJECT1 = ['EPRI02 - ADMINISTRAÇÃO', '2018.1', 'IGOR AZEVEDO DOS SANTOS CITTY ROSA (32h)', 'REGULAR', 'Presencial', 'ABERTA', '6T45', 'Anexo 1 - Sala 5', '90/91 alunos']
SUBJECT2 = ['ECAI06.1 - AUTOMAÇÃO DE SISTEMAS INDUSTRIAIS I', '2018.1', 'LUIZ FELIPE PUGLIESE (32h)', 'REGULAR', 'Presencial', 'ABERTA', '6M45', 'Anexo 3 - Sala 11', '13/24 alunos']
SUBJECT3 = ['ECA022.2 - Automação e Supervisão de Processos II (Prática)', '2018.1', 'LUIZ FELIPE PUGLIESE (32h)', 'REGULAR', 'Presencial', 'ABERTA', '5M23', 'Prédio 2 - Sala 2211', '9/12 alunos', '2018.1', 'LUIZ FELIPE PUGLIESE (32h)', 'REGULAR', 'Presencial', 'ABERTA', '5T12', 'Prédio 2 - Sala 2211', '11/12 alunos']
整理数据的一种方法是使用
collections.defaultdict
。你知道吗结果:
然后,您可以通过标准字典表示法轻松访问与特定主题相关的详细信息。你知道吗
使用字典的好处是您不必维护索引映射。要向主题添加另一个相关细节,只需执行
d['BAC024 - MATEMÁTICA VI'].append('Presencial')
。你知道吗相关问题 更多 >
编程相关推荐