-2
我有一個字符串,類似[(a,b),(c,a)]
但是更長,我想遍歷2 ^(number_of_variables)列表,這些列表是通過替換每個變量的{0,1}
之一而產生的。
在這種情況下,結果將是插入字符串中的每個變量的值
[(0,0),(0,0)]
[(0,0),(1,0)]
[(0,1),(0,0)]
[(0,1),(1,0)]
[(1,0),(0,1)]
[(1,0),(1,1)]
[(1,1),(0,1)]
[(1,1),(1,1)]
(如列表,而不是字符串),雖然我不在乎什麼爲了我讓他們進來。我本來想用eval
的,但後來看到了this answer。有沒有更好的方法來做這樣的迭代?
(變量的數目是相當小的,所以列表或元組,而不是一個迭代器也將被罰款。)
我還沒有想到,儘管之前使用過列表理解和itertools.product。 (如果我想要字符串,那麼我可以用'str([(a,b),(c,a)]替換'[(a,b),(c,a)]' )'。) –
@TimPietzcker:您錯過了「[({a},{b}),({c},{a})]」'前面的'f' 3.6例子。 – Matthias
@Matthias:糟糕:) –