首页 > 解决方案 > 从具有相同键的列表中创建元组字典

问题描述

我有一个数字列表。例如,

idList = [78,24,67,43]

我希望从中创建一个元组字典,如下所示:

files = {('file', open(78, 'rb)), ('file', open(24, 'rb)), ('file', open(67, 'rb)), ('file', open(43, 'rb))}

我怎样才能做到这一点?

我目前这样做:

for each in idList:
    listofTuples.append(('file',  open(str(each) + '.pdf', 'rb')))
print(dict(listofTuples))

但是,这将生成一个仅包含 1 个元组的字典。

编辑:我这样做是为了在一个请求中将多个文件上传到一个网站。例如,请参阅此答案

标签: python-3.xlistdictionarytupleslist-comprehension

解决方案


您可能想让人们知道您正在使用 Python,虽然这很明显,但这可能是您获得其中一些反对票的原因。

无论如何。

这段代码应该生成它(而不是我在在线测试时必须删除 open(str(each)) 函数。

代码(无开启功能)

idList = [78,24,67,43]
listofTuples = []
for each in idList:
    listofTuples.append(('file',  str(each) + '.pdf', 'rb'))
print(listofTuples)

输出:

[('file', '78.pdf', 'rb'), ('file', '24.pdf', 'rb'), ('file', '67.pdf', 'rb'), ('file', '43.pdf', 'rb')]

下面是您的整个代码:

idList = [78,24,67,43]
listofTuples = []
for each in idList:
    listofTuples.append(('file',  open(str(each) + '.pdf', 'rb')))
print(listofTuples)

希望这就是您要查找的内容,如果不是,您可能希望在问题中包含更多信息。


推荐阅读