Я экспериментирую с python и застреваю, пытаясь понять сообщения об ошибках в контексте того, что я делаю.Понятия с несколькими входными наборами
Я играл с постижениями и пытаюсь найти шаблон, чтобы создать список/словарь понимание с более чем одним входом установлен (при условии, что это возможно):
Примечания: Здесь входное слово set означает область ввода понимания. В нотации setbuilder, откуда python выводил свои интерпретации [Y для X в LIST], Y - это выходная функция, X - переменная, а LIST - это набор входных данных.
Предположим, у меня есть следующий рабочий код:
from random import randint
mydict = {k: 0 for k in range(10)}
result = {randint(0,9): v + 1 for v in mydict.values()}
Я не пытался делать ничего особенного об этом. Это даже не полезный код, потому что он не будет работать так, как ожидалось. Все элементы в словаре будут иметь значение 1, а не только те, на которые указывает случайный генератор. Моя единственная цель - получить основу, откуда я начинаю свою попытку работать с кортежем наборов ввода.
from random import randint
mydict = {k: 0 for k in range(10)}
result = {k: v + 1 for k, v in (randint(0,9), mydict.values())}
Эта опция дает мне: TypeError: 'int' object is not iterable
.
Путем замены входных наборов и распаковка у меня есть:
result = {k: v + 1 for *v, k in (mydict.values(), randint(0,9))}
Но этот вариант дает мне: TypeError: can only concatenate list (not "int") to list
ли эти ошибки появляются, потому что я пытаюсь сделать что-то язык грамматика не понимает, или я что-то упускаю, и на самом деле могу исправить код?
Это не ясно, какой выход вы * * ожидать. Скажем, «randint (0,9)» возвращается 3; какой «результат» вы хотите? – DSM
Вы хотите, чтобы диктофон с ключами из диапазона (10) 'и случайных значений из' randint'? – Navith
Вы, люди, сосредоточены на намерении кода. Единственное намерение здесь - посмотреть, есть ли способ получить кортеж входных множеств в понимании. Код - это всего лишь моя основа для экспериментов. –