[英]Python-chain.from_iterable returns memory address instead of value
我正在嘗試編寫一個簡單的程序來接收一組元素並打印出powerset。
我正在使用python文檔中給出的Powerset函數配方: https ://docs.python.org/3.4/library/itertools.html
由於某種原因而不是返回值,它返回itertools.chain對象的內存地址。
為什么這樣做呢?
from itertools import chain,combinations
def pwrst(iter):
xs = list(iter)
return chain.from_iterable( combinations(xs,n) for n in range(len(xs)+1))
s = input("Enter elements seperated by comma: ")
il = s(',')
ss = [int(x.strip()) for x in il]
pwrst(ss)
chain.from_iterable
返回一個可迭代的對象 (其默認__repr__
告訴您內存地址)。 實際上,您必須對其進行迭代以獲得值。 例如:
list(pwrst(ss))
在正常情況下,您可以執行以下操作:
for item in pwrst(ss):
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.