簡體   English   中英

是否可以在Python列表理解中編寫多個語句?

[英]Is it possible to write multiple statements in Python list comprehension?

我正在嘗試將HTML表讀入pandas,然后打印並將DataFrame附加到列表中。 就像是:

dfs = pd.read_html(str(table))
[print(df),records_list.append(df), for df in dfs]

可能,但是不是很漂亮:

inputs = ['a', 'b', 'c']

mylist = [print(i) or i for i in inputs]

print(mylist)

這濫用了打印功能始終返回無的事實。 結果是:

a
b
c
['a', 'b', 'c']

話雖如此,我不建議您這樣做,而應該使用@alexce的答案。

不是直接,您要么需要將其擴展到常規循環:

for df in dfs:
    print(df)
    records_list.append(df)

或者,您甚至可以創建一個自定義函數來打印並返回:

def print_and_return(item): 
    print(item)
    return item

records_list = [print_and_return(df) for df in dfs]

暫無
暫無

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

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