我必須失去了一些東西,因爲這是奇怪...蟒蛇組轉換,列出清單怪異行爲
a = ['a', 'b', 'c']
a1 = ['b', 'a']
foo = list(set(a) - set(a1))
** **返回
foo == ['c']
type(foo) == <type 'list'>
foo[0] == 'c'
**現在奇怪的部分**
foo = foo.insert(0, 'z')
foo == None
爲什麼列表操作像insert和append導致foo是None?
以下完成我的頂級示例嘗試,但似乎荒謬。
import itertools
a = ['a', 'b', 'c']
a1 = ['b', 'a']
foo = list(set(a) - set(a1))
q = [['z']]
q.append(foo)
q = [i for i in itertools.chain.from_iterable(q)]
q == ['z', 'c']
任何洞察力將不勝感激。 謝謝。
我不能再現這個,'foo == None'返回'False'。 – bereal
是不是意外地輸入了'foo = foo.insert(0,'z')'?那會導致它成爲無。 –
科利布里格曼是正確的。我基本上是將我的列表變量賦值爲.insert()的返回值,正如NPE指出的那樣其實是無.. –