給定兩個串列list1
和list2
布林值,我想list1
通過list2
. 例如,如果
list1 = [True, True, False]
list2 = [False, False, True, False]
然后在手術后
list1 = [True, True, False, True, True, False, True]
而list2
應保持不變。
實作這一目標的最pythonic方法是什么?
uj5u.com熱心網友回復:
這個怎么樣:
list1.extend(not value for value in list2)
如果 list2 有可能是 list1 的別名,則最好使用
list1 = [not value for value in list2]
uj5u.com熱心網友回復:
temp_list = [not elem for elem in list2]
list1.extend(temp_list)
uj5u.com熱心網友回復:
如果您想將其推廣到更長或更多的串列/陣列,您可以查看 numpy:
a1 = np.array([True, True, False])
a2 = np.array([False, False, True, False])
out = np.r_[a1, ~a2]
輸出:array([ True, True, False, True, True, False, True])
uj5u.com熱心網友回復:
在串列推導中使用not
關鍵字,只會將其轉換為它的恭維。
list1.extend([not value for value in list2])
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/493441.html
下一篇:字典回圈操作