Можно ли написать несколько утверждений в понимании списка Python? - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь прочитать таблицу HTML в pandas, а затем распечатать, а также добавить фреймы данных в список.Что-то вроде:

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

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Возможно, но это не очень красиво:

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

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

print(mylist)

Это злоупотребляет тем фактом, что функция печати постоянно возвращает None.Результат:

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

При этом я бы НЕ рекомендовал делать это, а скорее следовал бы с ответом @ alexce.

0 голосов
/ 12 декабря 2018

Не напрямую, вам нужно либо расширить его до обычного цикла:

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]
...