4

私はリストを持っています['1 2 4 5 0.9', '1 2 4 5 0.6', '1 2 4 5 0.3', '1 2 4 5 0.4']

別のリストもあります:[0.9, 0.3, 0.7, 0.8]

2番目のリストを使用したいのですが、最初のリスト要素には2番目のリストに含まれるものが含まれており、要素が削除されるため、最初のリストは次のようになります。

[1 2 4 5 0.6', '1 2 4 5 0.4']
4

2 に答える 2

8

次のような意味です。

>>> lst = ['1 2 4 5 0.9','1 2 4 5 0.6','1 2 4 5 0.3','1 2 4 5 0.4']
>>> s = set([0.9,0.3,0.7,0.8])
>>> [x for x in lst if float(x.split()[-1]) not in s]
['1 2 4 5 0.6', '1 2 4 5 0.4']
于 2013-04-22T19:03:55.373 に答える
0

これを行うためのより一般的なアプローチを次に示します。これはこれを行うための最良の方法ではないかもしれないことを認識していますが、これは私の頭から外れていました。

>>> listOne = ['1 2 4 5 0.9', '1 2 4 5 0.6', '1 2 4 5 0.3', '1 2 4 5 0.4']
>>> listTwo = [0.9, 0.3, 0.7, 0.8]
>>> finalList = []
>>> for element in listOne:
       flagBit = 0
       for number in element.split():
           if float(number) in listTwo:
               flagBit = 1
               break
       if flagBit == 0:
           finalList.append(element)
于 2013-04-22T19:34:10.220 に答える