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