[英]List comprehension, invalid syntax
我想我可能在這里遺漏了一些明顯的東西,但是為什么編譯器為什么在列表理解中的“ for”之后引發“ SyntaxError:無效語法”?
num = str(2**1000)
print(num)
sum = 0
print(sum[ int(num[i]) for i in range(len(num)) ])
有任何想法嗎?
在sum = 0
您要將內置函數名稱重新綁定到變量名稱,這使函數調用sum(some_sequence)
無效。 不要使用任何內置類型/函數名稱作為自定義變量名稱。
此外, sum[ ... ]
無效,請改用sum(...)
因為它是一個函數。
您將sum
分配為整數0
。
接下來,當您真的想做sum( )
時,嘗試使用sum[...]
將其作為列表進行訪問。
為此,您需要擺脫sum = 0
,因為Python不會使用內置方法sum()
,而是將其等效為0()
並引發另一個錯誤。
您也不需要for i in range(num)
因為您可以直接遍歷字符串。
將所有內容放在一起,您將擁有:
print(sum(int(i) for i in num)))
您也不需要內部列表。
或者,另一種更緊湊的方式:
print(sum(map(int, num)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.