Прекарах вчера в писане на малък скрипт на Python, който не е основният ми език, и това ме остави с някои въпроси за това как да правя нещата в правилния "pythonic" стил. Задачата е доста проста, имам два масива 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 начин да направя това с разбиране на списък. Всяка помощ ще бъде оценена.