ネストされたリストが特定のインデックスに値を持っているかどうかをチェックするエレガントな方法は何ですか?

DragonKnight

2D配列があるとしましょう:

ar = [[1,2],
      [3,4]]

if ar[1][1]:
#works
if not ar[3][4]: 
#breaks!! 

私はPythonを初めて使用するので、エレガントな構文とは何かを知る必要があります。

cs95

例外処理を伴うPythonの非常に愛されているEAFPアプローチは、私のやり方です。

try:
    print(ar[i][j])  # i -> row index, j -> col index
except IndexError:
    print('Error!')

LYBLアプローチとしても知られる別の方法は、ifチェックを使用することです。

if i < len(ar) and j < len(ar[i]):
    print(ar[i][j])

そして、これが「ワンライナー」バージョンです(これは読みやすさを損ないますが、あなたは望んでいるようです):

print(ar[i][j] if i < len(ar) and j < len(ar[i]) else "Error")

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ