2

これを行う方法についての手がかりがありません。私はリストを持っています:

list_something = [5, 6, 8]

そして、私はメソッド is_valid() を持っています

def is_valid(number):
    return type(number) is int

forループ内で3つの数値がすべて整数かどうかを一度に確認するにはどうすればよいですか?

for item in list_something:

for ループの最後に、「all_list_something」という変数が必要で、値は True または False になります。リスト内のすべての数値が整数の場合、値は True です。1 つだけが Integer にならない場合、値は false になります。

これを達成するための最良の方法の手がかりはありますか?

よろしくお願いします、

4

3 に答える 3

10

ジェネレータ内包表記は、マップの読みやすさを向上させることができます。

all_list_something = all(is_valid(x) for x in list_something)
于 2013-01-06T17:13:20.553 に答える
8

あなたは使用することができallますmap

all_list_something = all(map(is_valid, list_something))

を使用itertools.imapすると、これを短絡させることができます (つまり、最初の要素が無効な場合、残りはチェックされません)。

import itertools
all_list_something = all(itertools.imap(is_valid, list_something))
于 2013-01-06T17:11:30.703 に答える
4

質問はforループでそれを行う方法について尋ねているので、そのような答えを含めると思いました:

all_list_something = True
for item in list_something:
    if not is_valid(item):
       all_list_something = False
       break

しかし、実際には、デビッドまたはcmhの答えが道です。

于 2013-01-06T17:15:01.607 に答える