0

同じ要素をリストに追加するにはどうすればよいですか?

いう

A= [2,3,4,4]
B= [2,4,4,5,7,6,7]

for i in B:
    if i ==4:
        B.remove(4)
        A.append(4)

        print B
        print A

これを行うと、リスト B のすべての 4 が削除されますが、A には 4 が 1 つだけ追加されます。B のすべての 4 が A に移動するようにするにはどうすればよいですか?

4

3 に答える 3

2

リストを反復しながらリストを変更することはお勧めしません。

>>> A = [2,3,4,4]
>>> B = [2,4,4,5,7,6,7]
>>> 
>>> A.extend([4] * B.count(4))
>>> B = [x for x in B if x != 4]
>>> A
[2, 3, 4, 4, 4, 4]
>>> B
[2, 5, 7, 6, 7]
于 2013-08-02T07:57:15.123 に答える
1

スクリプトを実行すると、次の出力が得られます

[2, 4, 5, 7, 6, 7]
[2, 3, 4, 4, 4]

リストを実行中に要素を削除したため、B から削除された 4 は 1 つだけです。B をループした後、B から 4 を削除する必要があるかもしれません。

A = [2,3,4,4]
B = [2,4,4,5,7,6,7]

for i in B:
    if i == 4:
        A.append(4)
B = filter(lambda a: a != 4, B)
print B
print A
于 2013-08-02T07:55:45.473 に答える