在python上为dictionary中的每个键添加多个值

2024-09-30 20:36:26 发布

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

假设我有K个元素的列表:

['0.mnet', '1.mnet', '2.mnet', '3.mnet', '4.mnet']

我希望每个元素都是字典中的一个键, 在我的h.w中,如果一个文件与另一个文件之间存在链接,我想将其添加到我的字典中。 例如:

Page number 0
There's a link below to page 4:
<<4.mnet>>
And this here is page 3
 <<3.mnet>>

我想要的是: {'0.mnet':4,'0.mnet':3}

我在这行遗漏了一些东西:

                    linkofpages[pages[i]] = k

代码:

def load_mininet(net_path):
size = 5
# list of lists, each list we have size pages, in each page we have maximal sqrt(size) of links
pages = []
linkofpages = {}
for i in range(size):
    file = net_path + str(i) + '.mnet'
    p = Path(file)
    pages.append(file)
    with p.open() as f:
        content = f.read()
        print(content)
        for k in range(size):
            if "<<" + str(k) + ".mnet>>" in content and i != k:
                print("from page", i, " to page ", k, " have a link")
                linkofpages[pages[i]] = k
print(pages)
print(linkofpages)

谢谢


Tags: 文件toin元素size字典havepage
1条回答
网友
1楼 · 发布于 2024-09-30 20:36:26

上面关于{'0.mnet': 4, '0.mnet': 3}在python dict中如何不可能的评论是正确的,因为键必须是唯一的

我建议您采用以下替代方案: 您可以将列表[3,4]指定为“0.mnet”的值,如

{'0.mnet', [3, 4]}

您可以通过索引该值来访问[3,4]的两个ELT:

d['0.mnet'][1]
>>> 3
d['0.mnet'][2]
>>> 4

相关问题 更多 >