繁体   English   中英

一旦在文件文本的同一行中同时出现,则为两个列表的项目创建字典

[英]create a dict for items of two list once co occur in the same line in a file text

如果有两个项目列表,并且任务是创建两个列表中的项目的字典(一旦列表中的两个项目同时出现在文件的同一行中,则该列表中的一个项目作为键,而列表2中的一个作为值)文本。 与我接下来的审判有别的不同吗? 谢谢

di =  {}
for line in file_text:
    for x in list1:
        for y in list2:
            if x in line and y in line:
                di[x]=y   

为了获得最佳性能,您应该将itertools.izip与Python的dict理解语法一起使用:

import itertools
di = {k: v for line in file_text for k, v in itertools.izip(list1, list2) if k in line and v in line}

一个字典理解是一个更快的替代方案来创建你的字典比嵌套for循环和itertools.izip是内存消耗比简单更经济的zip (特别是较大的列表)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM