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

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