如何检查2个txt之间是否存在相同的字符串并将其分隔?

2024-09-20 22:53:32 发布

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

这里是我需要比较的两个txt文件,我需要根据b中的关键字将a中的列表分开

例如,df.movie,因此我希望将'kyle','movie','c_13'转换为df=[]

a=[['kyle','movie','c_13'],
   ['blair','food','a_29'],
   ['reese','phone','abc_76'],....]

b=[['df.movie'],
   ['ghk.food'],
   ['qwe.phone'],....]

for line_a in a:
    for line_b in b:
            if line_b in line_a:
                print(line_a)


Tags: 文件intxtdf列表forfoodline
3条回答

你可以用字典来得到这个。你可以试着用这个

x = {}
for i in b:
    y = i[0].split('.')
    for j in a:
        if y[1] in j : x[y[0]]=j

print (x)

输出如下:

{'df': ['kyle', 'movie', 'c_13'], 'ghk': ['blair', 'food', 'a_29'], 'qwe': ['reese', 'phone', 'abc_76']}

埃姆拉的回答是好的。我只是想添加一个替代解决方案

a=[['kyle','movie','c_13'],
   ['blair','food','a_29'],
   ['reese','phone','abc_76']]

b=['df.movie',
   'ghk.food',
   'qwe.phone']

b2 = [b_.split(".")[1] for b_ in b]

for item in range(len(a)):
    if any(elem in a[item] for elem in b2):
        print(a[item])

我认为您正在尝试学习Python,您必须更多地使用Python列表创建解决方案

seperateds = {}
for b_ in b:
    b_ = b_[0].split(".")
    b_header = b_[0]
    b_string = b_[1]
    for a_ in a:
        if b_string in a_:
            seperateds[b_header] = a_
            break
print(seperateds)

相关问题 更多 >

    热门问题