リストを繰り返し処理し、値が文字列かintかをチェックする必要があります。これをPythonで簡単に行う方法はありますか?例えばリストに文字列が含まれているかどうかをチェックする方法
:
[1,2,3]
本当だろう。
["a",2,3]
となります。
リストを繰り返し処理し、値が文字列かintかをチェックする必要があります。これをPythonで簡単に行う方法はありますか?例えばリストに文字列が含まれているかどうかをチェックする方法
:
[1,2,3]
本当だろう。
["a",2,3]
となります。
あなたがany()
とisinstance()
の組み合わせを使用することができます。
In [1]: def contains_string(l):
...: return any(isinstance(item, basestring) for item in l)
...:
In [2]: contains_string([1,2,3])
Out[2]: False
In [3]: contains_string(['a',2,3])
Out[3]: True
basestring
ハンドル "ユニコード" と "STR" の文字列型の両方:
注any()
ことショートサーキットは、同様に、それは結果を知っていると、ここでその詳細を参照してください。
あなたは短絡一度偽の条件が満たされるでしょうallを使用して、これを行うことができます。同様all
を呼び出すとき
>>> my_list = [1, 2, 3]
>>> all(type(d) == int for d in my_list)
True
>>> my_list = ['1', 2, 3]
>>> all(type(d) == int for d in my_list)
False
isinstanceを使用することができる:あなたは、彼らがすべての整数だった場合にのみ、リストのすべての値を通過していることを確認する必要があることを意味と仮定すると、
>>> my_list = [1, 2, 3]
>>> all(isinstance(d, int) for d in my_list)
True
>>> my_list = ['1', 2, 3]
>>> all(isinstance(d, int) for d in my_list)
False
機能だろうTrueを返す、これは私がそれをする方法です:
def test(list):
result=True
for elem in list:
if type(elem)!=int:
result=False
return result
なぜこれが必要ですか?代わりに例外を処理するほうがよいかもしれません。 http://stackoverflow.com/questions/12265451/ask-forgiveness-not-permission-explain –
私の意見では、最初にいくつかのコードを書こうとしていて、失敗した試みを投稿したはずです。 SOはコード作成サービスではありません。 –