Вчера я написал небольшой скрипт на Python, который не является моим основным языком, и у меня остались вопросы о том, как делать что-то в правильном «питоническом» стиле. Задача довольно простая, у меня есть два массива fieldnames
и values
. Представьте, что их содержимое
fieldnames = ['apples','oranges','pears','bananas']
values = [None,2,None,5]
Мне нужно создать массив имен полей, состоящий только из индексов, соответствующих значениям, отличным от None. Сейчас делаю так:
#print fieldnames
usedFieldnames = []
for idx,val in enumerate(values):
if val is not None:
usedFieldnames.append(fieldnames[idx])
Я мог ошибаться, но мне это кажется очень непифоническим, и мне было интересно, есть ли более подходящий для Python способ сделать это с пониманием списка. Любая помощь будет оценена по достоинству.