如何基于二进制条件拆分列表?附示例与预期输出
实现方法
方法一:列表推导式(简洁高效)
直接用Python的列表推导式筛选符合条件的元素,一行代码搞定:
original_list = [['0.jpg',0],['1.jpg',1],['2.jpg',1],['3.jpg',0],['4.jpg',1]] list_0 = [item for item in original_list if item[1] == 0] list_1 = [item for item in original_list if item[1] == 1]
运行后就能得到预期结果:
list_0包含所有第二个元素为0的子列表list_1包含所有第二个元素为1的子列表
方法二:循环遍历(适合新手理解)
如果需要更直观的逻辑,用普通循环遍历原列表,判断每个子列表的第二个元素,将其添加到对应的新列表中:
original_list = [['0.jpg',0],['1.jpg',1],['2.jpg',1],['3.jpg',0],['4.jpg',1]] list_0 = [] list_1 = [] for item in original_list: # 判断子列表的第二个元素(索引为1) if item[1] == 0: list_0.append(item) else: list_1.append(item)
两种方法最终输出结果完全一致,可根据自身习惯选择使用。
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

