📜  Python - 拆分异构类型列表(1)

📅  最后修改于: 2023-12-03 15:18:52.501000             🧑  作者: Mango

Python - 拆分异构类型列表

在Python中,列表是一种强大而灵活的数据类型,它可以存储任意类型的元素,包括数字、字符串、列表、元组和字典等。但是在某些情况下,我们需要将一个列表拆分成具有不同数据类型的多个列表,这就是本文介绍的内容。

问题背景

假设有一个列表 my_list,它包含了多个元素,这些元素可能是数字、字符串或者其他复杂元素,例如列表、元组和字典等。我们需要将该列表拆分成如下几个列表:

  • number_list:该列表只包含数字类型的元素;
  • string_list:该列表只包含字符串类型的元素;
  • complex_list:该列表只包含复杂类型的元素,例如列表、元组和字典等。

如下是示例列表 my_list 的内容:

my_list = [1, "Hello", ["a", "b", "c"], (1, 2, 3), {"Name": "John", "Age": 18}, "World", 10.5]
解决方案

下面是解决上述问题的代码示例:

number_list = []
string_list = []
complex_list = []

for item in my_list:
    if isinstance(item, int) or isinstance(item, float):
        number_list.append(item)
    elif isinstance(item, str):
        string_list.append(item)
    else:
        complex_list.append(item)

print(number_list)
print(string_list)
print(complex_list)

上述代码中,首先定义了三个空列表 number_liststring_listcomplex_list,用于存储不同类型的元素。然后遍历原始列表 my_list 中的每个元素,使用 isinstance() 函数判断该元素的数据类型,并将其添加到对应的列表中。最后输出这三个列表的内容。

执行上述代码,输出如下结果:

[1, 10.5]
['Hello', 'World']
[['a', 'b', 'c'], (1, 2, 3), {'Name': 'John', 'Age': 18}]
小结

本文介绍了如何将一个包含多种数据类型的列表拆分成只包含指定数据类型的多个列表的方法。在实际开发中,这种方式可以帮助我们更好地处理复杂的数据类型,提高程序效率。