Python 如何访问字典中的列表并进行比较?
data.txt文件,而不是py 密歇根州->Python 如何访问字典中的列表并进行比较?,python,list,dictionary,Python,List,Dictionary,data.txt文件,而不是py 密歇根州-> 安妮 卢克 卡尔 泥灰岩-> 填充 卢克 安妮-> 卢克 填满 python文件: with open('data.txt') as f: dati = f.read() dati = dati.strip() dati = dati.splitlines() diz = {} for items in dati:
安妮
卢克
卡尔
泥灰岩->
填充
卢克
安妮->
卢克
填满 python文件:
with open('data.txt') as f:
dati = f.read()
dati = dati.strip()
dati = dati.splitlines()
diz = {}
for items in dati:
if items[-2:] == '->':
key = items.replace('->', '')
if key in diz:
continue
else:
diz[key]=[]
else:
diz[key].append(items)
print(diz)
OUTPUT: d = {'Mich': ['Anne', 'Luke', 'Carl'], 'Marl': ['Fill', 'Luke'], 'Anne': ['Luke', 'Fill']}
我想了解如果d的元素在另一个文件(data.txt)中,我如何访问列表并比较名称。
例如,如果我必须知道哪些键具有相同的名称,我必须做什么?
谢谢大家
我尝试设置,用于执行交叉,但无法使用此列表执行此操作
对于我想到的输出(mich、marl和anne认识luke)
我在互联网上到处搜索analise如何在字典中列出列表,也许这是不可能的?迭代列表的一种方法如下:
d = {'Mich': ['Anne', 'Luke', 'Carl'],
'Marl': ['Fill', 'Luke'],
'Anne': ['Luke', 'Fill']}
names = []
for k, v in d.items():
print(k,"has: ")
for items in v:
print(items)
# here you can check if this data is in other file
names.append(items)
print(names)
这将导致:
Mich has:
Anne
Luke
Carl
Marl has:
Fill
Luke
Anne has:
Luke
Fill
['Anne', 'Luke', 'Carl', 'Fill', 'Luke', 'Luke', 'Fill']
您也应该提供更多关于另一个文件中数据结构的信息,这是我所能做的所有信息帮助我们帮助您-分享一个文件示例和您试图获得的结果请提供您的要求的更清晰的信息第一个列表通过
d['Mich]访问
.Fill->这是一个文件.txt,例如Mich Luke Mike->Fill Luke Mich->Ann Ann->Luke Fill看起来你想让我们为你写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是包括您迄今为止编写的代码(形成一个示例)、示例输入(如果有)、预期输出和实际获得的输出(输出、回溯等)。你提供的细节越多,你可能得到的答案就越多。检查一下,对不起,也许我记错了。。。您的结果是my file.txt的内容。。。我想了解如何说:‘Marl和Anne有Fill,Mich和Marl,Anne有Luke,只有Mich有Anne和Carl’,要做到这一点,我必须访问我的dict中的每个列表。我想知道如何,如果可能的话。好的,在我的代码中,我做了一个dict:[str][list]。。。如果我有Dict[str][str]。。。。你认为我可以迭代并得到我的输出吗?