📅  最后修改于: 2023-12-03 14:53:43.560000             🧑  作者: Mango
在Python中,我们可以使用zip()
函数来将多个列表合并为一个。但是,如果我们有一个列表包含整数和对象,如何将其拆分并将其合并到单个列表中?
在这篇文章中,我们将介绍如何使用列表推导式和类型检查来将int和object列表合并到一个列表中。
我们可以使用isinstance()
函数来检查列表中的元素类型。然后,我们可以使用列表推导式过滤出整数和对象,并使用zip()
函数将它们合并为一个元组,最后使用list()
函数将它们转化为列表。
下面是一个示例代码片段:
list1 = [1, 2, 'hello', 'hi']
ints = [i for i in list1 if isinstance(i, int)]
objs = [o for o in list1 if not isinstance(o, int)]
merged_list = list(zip(ints, objs))
print(merged_list)
输出结果:
[(1, 'hello'), (2, 'hi')]
另一种方法是使用try-except语句来处理整数和对象。我们可以使用列表推导式来遍历列表中的元素,然后使用try-except语句过滤出整数和对象,并将它们合并为一个列表。
下面是一个示例代码段:
list1 = [1, 2, 'hello', 'hi']
ints = []
objs = []
for i in list1:
try:
ints.append(int(i))
except:
objs.append(i)
merged_list = list(zip(ints, objs))
print(merged_list)
输出结果:
[(1, 'hello'), (2, 'hi')]
无论您选择哪种方法,将int和object列表合并到一个列表中都很容易。我们可以使用类型检查或try-except语句来过滤出整数和对象,并使用zip()
函数将它们合并到一个元组中,然后将它们转化为列表。
如果您需要将不同类型的数据合并到一个列表中,这些方法也同样适用。