簡體   English   中英

Python-chain.from_iterable返回內存地址而不是值

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

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