是否可以在Python列表理解中编写多个语句?

时间:2018-12-12 13:47:23

标签: python python-3.x list-comprehension

我正在尝试将HTML表读入pandas,然后进行打印并将DataFrames也附加到列表中。像这样:

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

2 个答案:

答案 0 :(得分:3)

可能,但不是很漂亮:

const someService: SomeService = .... // value of type SomeService

const valid: SomeState = {
  services: {
    a: someService
  }
}

const invalid: SomeState = {
  services: {
    b: 123 // Error -> the value of 'b' must be of type SomeService
  }
}

这滥用了打印功能始终返回None的事实。结果是:

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

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

print(mylist)

话虽这么说,我不建议您这样做,而应该使用@alexce的答案。

答案 1 :(得分:2)

不是直接,您要么需要将其扩展到常规循环:

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]