web-dev-qa-db-ja.com

リストの要素が空の場合、pythonをチェックインするにはどうすればよいですか?

私はのようなリストを持っています

l = []

L [i]が空かどうかを確認するにはどうすればよいですか?

l[i] = ''

そして

l[i] = ""

動作しません。

6
user1081715

試してください:

if l[i]:
    print 'Found element!'
else:
    print 'Empty element.'
9
Ian

その要素がNone型と等しいかどうかを確認するか、NOT演算子を使用してください。これは、他の言語で観察されるNULL型と同等です。

if not A[i]:
    ## do whatever

とにかく、リストのサイズがわかっている場合は、これをすべて行う必要はありません。

3
devsaw

インデックスiのリスト要素が設定されているかどうかを知りたい場合は、以下を確認するだけです。

if len(l)<=i:
    print ("empty")

他の言語のNULLポインターやNULL参照のようなものを探している場合、PythonはNoneを提供します。つまり次のように書くことができます。

l[0] = None # here, list element at index 0 has to be set already
l.append(None) # here the list can be empty before
# checking
if l[i] == None:
    print ("list has actually an element at position i, which is None")
2
phimuemue

一部の言語とは異なり、emptyはPythonのキーワードではありません。 Pythonリストはゼロから構築されるため、要素iに値がある場合、すべてのi-1に対して要素i > 0に値があります。

等価性チェックを行うには、通常、==比較演算子を使用します。

>>> my_list = ["asdf", 0, 42, '', None, True, "LOLOL"]
>>> my_list[0] == "asdf"
True
>>> my_list[4] is None
True
>>> my_list[2] == "the universe"
False
>>> my_list[3]
""
>>> my_list[3] == ""
True

stripメソッド へのリンクは次のとおりです。コメントは、奇妙なファイル解析エラーが発生している可能性があることを示しています。そのため、前に改行と余分な空白を削除していることを確認してください。空の行が必要です。

0

仮定します

letter= ['a','','b','c']

for i in range(len(letter)):
    if letter[i] =='':
        print(str(i) + ' is empty')

output- 1 is emtpy

したがって、インデックス1が空であることがわかります。

0
Umesh