0

サブリスト内のすべての要素が整数であるかどうかを確認するために関数 int() を呼び出したいリストのリストがあります。具体的には、最初のサブリストで int() を呼び出したいと思います。のようなリストがあり[["a","1","2","3"],["1","2","3","4"]]ます。サブリストの最初の要素が数値でない場合、何も返しません。ただし、そうである場合は、サブリストが無効であることを報告します。私のコードは以下の通りです:

new_list = [int(i) for i in l]
print(new_list)

これは私に与えますTypeError: int() argument must be a string or a number, not 'list'

4

2 に答える 2

2

現在のコードiでは、リスト内の各リスト オブジェクトを参照しているため、エラーは...int()をとらないことを通知していlistます。そのリストの最初の要素にアクセスする必要がありますi[0]

int変換を try/except でラップし、エラーをキャッチして出力することができます。

for row in your_list:
    try:
        int(row[0])
    except ValueError as e:
        print('Invalid:', e)

また、(try/exceptなしで)使用することもできます:

for row in your_list:
    if row[0].isdigit():
        print('Invalid:', row)
于 2013-08-03T00:02:24.097 に答える