4

リストに値が存在するかどうかをチェックし、存在する場合は True を返す関数を作成しました。完全一致ではうまく機能しますが、値がリストエントリのどこかに存在する場合はTrueを返す必要があります(たとえば、値<= listEntryだと思います)。関数に使用しているコードは次のとおりです。

def isValInLst(val,lst):
    """check to see if val is in lst.  If it doesn't NOT exist (i.e. != 0), 
    return True. Otherwise return false."""
    if lst.count(val) != 0:
        return True
    else:
        print 'val is '+str(val)
        return False

文字列全体をループしたり、RegEx を使用したりすることなく (それらが最も効率的でない限り)、pythonic の方法でこれを行うにはどうすればよいですか?

これは別の SO questionと非常によく似ていますが、リスト内のどこかに ENTIRE val 文字列が存在するかどうかを確認する必要があります。一致のインデックス/インデックスを返すことも素晴らしいでしょうが、Stackoverflow の他の場所でカバーされていると確信しています。

4

3 に答える 3

1

それを行う可能性は複数あります。例えば:

def valInList1 (val, lst):
    # check `in` for each element in the list
    return any(val in x for x in lst)

def valInList2 (val, lst):
    # join the list to a single string using some character
    # that definitely does not occur in val
    return val in ';;;'.join(lst)
于 2013-07-02T17:37:35.827 に答える