Zip() с необязательными параметрамиPython

Программы на Python
Ответить
Anonymous
 Zip() с необязательными параметрами

Сообщение Anonymous »

Я хочу перебрать необязательные параметры, упрощенный пример:

Код: Выделить всё

a = [1,2,3]
b = [4,5,6]
c = {'function':['add','add','multiply']}

for i in zip(a, b, *c):
if i['function'] == 'add':
print(i[0] + i[1])
elif i['function'] == 'multiply':
print(i[0] * i[1])
В настоящее время это не работает, но я не уверен, почему после прочтения обозначения * здесь:
https://docs.python.org/3/tutorial/cont ... ment-lists

Я чувствую, что итератор должен возвращать 2 индекса из i вместе с любыми именованными значениями из словаря?

Как мне это сделать? правильно реализовать эту логику?

Обновление от 16 октября 2019 г.

Спасибо за все ваши ответы, но я не думаю, что я правильно объяснил свою идею.

Моя конечная цель — перебрать значения форматирования из словаря:

Код: Выделить всё

labels = ['Car', 'Van', 'Bike']

font_list = {'bold':[True, True, False],
'italic'=[False, True, True]}

font = {'underline':False}

for i in zip(labels, *font_list):
if 'bold' in i:
bold = i['bold']
else:
bold = font['bold']
addLabelToPlot(label=i[0], bold=bold, ...)
...
Если формат каждой метки разный, он будет помещен в словарь font_list, в противном случае он будет помещен в словарь шрифтов.


Подробнее здесь: https://stackoverflow.com/questions/583 ... parameters
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»