簡體   English   中英

為什么這個嵌套列表理解會產生錯誤?

[英]Why does this nested list comprehension generate an error?

conn_request, weights = zip(*[
    ((conn, request), request[2])
    for conn in unchoked_conns
    for request in conn.peer_requests
])

產生:

    for conn in unchoked_conns
ValueError: need more than 0 values to unpack

我無法弄清楚我做錯了什么。 我認為這與requestconn的依賴有一些關系嗎?

>>> a, b = zip(*[])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 0 values to unpack

您的LC生成一個空列表。 嘗試驗證unchoked_conns是否包含任何元素。

壓縮空列表會返回單個空列表,因此分配失敗。 這與zip幫助一致,它清楚地說:

The returned list is truncated in length to the length of the shortest argument sequence

在您的情況下,最短參數序列的長度為0。

暫無
暫無

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

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