簡體   English   中英

將 for 循環寫入列表理解

[英]writing for loop into list comprehension

我編寫了一個 for 循環,但想將其實現為列表理解。 按照通常的指南將其翻譯為列表理解,但由於某種原因,for循環正在工作,但列表理解卻沒有

下面是我的 for 循環和列表理解代碼。 請注意,“tipos”是一個系列,“airbnb”是一個 dataframe(盡管我認為這不相關。

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 循環我得到了我想要的列表,但是使用列表理解我得到了一個完整的列表。 我希望得到與 for 循環相同的結果。 如何更正列表理解?

我認為你想要的實際上是:

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

(無需 append ...您正在通過理解創建列表)

但是,我也不確定您為什么需要索引,您可能只需要遍歷這些項目:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM