писать для цикла в понимании списка - PullRequest
1 голос
/ 30 сентября 2019

Я написал цикл for, но хочу реализовать его как понимание списка. Следовал обычным инструкциям по переводу его для понимания списка, но по какой-то причине цикл for работает, но понимание списка не

Ниже приведен как цикл for, так и код понимания списка. Обратите внимание, что «tipos» - это серия, а «airbnb» - фрейм данных (хотя это не должно быть актуально, я думаю.

for i in range(len(tipos)):
    porcentajes.append(tipos[i]/airbnb.room_type.count()*100)
porcentajes

porcentajes=[porcentajes.append(tipos[i]/airbnb.room_type.count()*100) for i in range(len(tipos))]
porcentajes

Используя цикл for, я получаю нужный мне список, но использую понимание спискаЯ получаю список, полный Nones. Я ожидаю получить тот же результат, что и в цикле for. Как мне исправить понимание списка?

1 Ответ

3 голосов
/ 30 сентября 2019

Я думаю, что вы на самом деле хотите:

porcentajes=[(tipos[i]/airbnb.room_type.count()*100) for i in range(len(tipos))]

(не нужно добавлять ... вы создаете список, выполняя понимание)

Однако яне зная, зачем вам нужен индекс, скорее всего, вы можете просто перебирать элементы:

porcentajes=[(t/airbnb.room_type.count()*100) for t in tipos]
...