のは、私は3つのリストを持っているとint_list
という名前のリストに整数であるすべての要素を追加したいとしましょう:if文の条件は複数の変数に対して相互排他的ですか?
test1 = [1, 2, 3, "b", 6]
test2 = [1, "foo", "bar", 7]
test3 = ["more stuff", 1, 4, 99]
int_list = []
私は新しいリストにすべての整数を追加するには、次のコードを実行できることを知っている:
for elem1, elem2, elem3 in zip(test1, test2, test3):
if elem1 is int:
int_list.append(elem1)
if elem2 is int:
int_list.append(elem2)
if elem3 is int:
int_list.append(elem3)
if文を1つの条件文にマージできますか?それともコードを少なくするか?これを行うもっとpythonicな方法がありますか? は、私は、次のコードを実行しようとしたが、それは整数ではありませんでした要素が含まれます:
for elem1, elem2, elem3 in zip(test1, test2, test3):
if (elem1 is int, elem2 is int, elem3 is int):
int_list.append(elem1)
int_list.append(elem2)
int_list.append(elem3)
これは** *動作しません。** zip'は、リストの1が終了した瞬間から停止しますので、 '... –
はさらに' elem1がint'あり、それ自体**すべての整数を追加しません。 *。 –