【发布时间】:2017-03-24 17:17:11
【问题描述】:
假设我有三个列表,并且想要将所有整数元素添加到名为int_list 的列表中:
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 语句合并为一个条件语句吗?或者减少代码?有没有更蟒蛇的方式来做到这一点? 我尝试执行以下代码,但它会包含不是整数的元素:
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将从列表之一完成的那一刻起停止... -
此外
elem1 is int不起作用。
标签: python if-statement multiple-conditions