嵌套列表中的元素合并成一个一维列表。在 Python 里,有多种方式可以实现这一需求
方法一:使用双重循环
nested_list = [['张三', '李四', '王五'], ['王五', '赵六', '张三'], ['李四', '王五', '王五']]
flattened_list = []
for sub_list in nested_list:
for item in sub_list:
flattened_list.append(item)
print(flattened_list)
- 方法一:借助双重
for
循环,外层循环遍历嵌套列表中的每个子列表,内层循环遍历子列表中的每个元素,然后将元素添加到新列表中。
方法二:使用列表推导式
nested_list = [['张三', '李四', '王五'], ['王五', '赵六', '张三'], ['李四', '王五', '王五']]
flattened_list = [item for sub_list in nested_list for item in sub_list]
print(flattened_list)
- 方法二:使用列表推导式,它是一种简洁的创建列表的方式,本质上和双重循环的逻辑一致。
方法三:使用 itertools.chain
函数
import itertools
nested_list = [['张三', '李四', '王五'], ['王五', '赵六', '张三'], ['李四', '王五', '王五']]
flattened_list = list(itertools.chain(*nested_list))
print(flattened_list)
- 方法三:
itertools.chain
函数可以将多个可迭代对象连接成一个迭代器,使用*
操作符将嵌套列表解包作为参数传递给chain
函数,最后将迭代器转换为列表。
评论区