Создать словарь кортежей из списка с тем же ключом - PullRequest
0 голосов
/ 10 мая 2018

У меня есть список номеров. Например,

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 кортеж.

Редактировать: Я делаю это, чтобы за один запрос загрузить несколько файлов на веб-сайт. Например, посмотрите этот ответ .

1 Ответ

0 голосов
/ 10 мая 2018

Возможно, вы захотите, чтобы люди знали, что вы используете 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)

Надеюсь, это то, что вы ищете, если нет, вы можете включить больше информации в вопрос.

...