簡體   English   中英

生成器和列表理解輸入

[英]generator and list comprehension input

我的目的是在輸入上按回車鍵后一個接一個地輸入 2 個列表,當我運行以下行時,我沒有得到任何輸入,也沒有在 jupyter 上出現錯誤。

N = (list(map(int,input().split())) for _ in range(2))

但是當我構建一個列表列表時,它會起作用並提供輸入。

N = [list(map(int,input().split())) for _ in range(2)]

我顯然不明白這里發生了什么。

在你的第一行你給出了一個生成器表達式,如果你迭代,這將被執行,你可以使用

next(N)

或者

list(N)

在你的第二行,你有一個列表理解,可以立即執行你的代碼


我的目的是在輸入后依次輸入 2 個列表

據我了解,您想從 1 個輸入中獲取 2 個列表,為此您需要在列表之間使用分隔符:

sep = '|'
[list(map(int, l.split())) for l in input().split(sep)]
# input: 1 2 3| 0 4 9

輸出:

[[1, 2, 3], [0, 4, 9]]

此外,您可以在“抓取”並處理輸入后將結果解壓縮到 2 個列表中:

list1, list2  = [list(map(int,input().split())) for _ in range(2)]

暫無
暫無

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

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