【发布时间】:2013-05-14 10:25:48
【问题描述】:
按第一个索引遍历排序列表的最优雅的方法是什么?输入:
Meni22 xxxx xxxx
Meni32_2 xxxx xxxx
Meni32_2 xxxx xxxx
Meni45_1 xxxx xxxx
Meni45_1 xxxx xxxx
Meni45 xxxx xxxx
是不是一行一行地走下去:
list1 = []
list2 = []
for line in input:
if line[0] not in list1:
list.append(line)
else:
list2.append(line)
示例显然行不通。它添加 line[0] 的第一个匹配项并继续。我宁愿让它遍历列表,将它只找到一次的行添加到 list1 中,然后再添加到 list2 中。
脚本之后:
List1:
Meni22 xxxx xxxx
Meni45 xxxx xxxx
List2:
Meni45_1 xxxx xxxx
Meni45_1 xxxx xxxx
Meni32_2 xxxx xxxx
Meni32_2 xxxx xxxx
【问题讨论】:
-
每一行开头的
xxxx xxxx是否相同? -
您的输入有多少列?两个还是三个?
-
目前尚不清楚您要在这里实现什么。基于“脚本之后”部分,您是否只想根据第一个标记是否包含下划线将输入分成两个列表?
-
@Wooble 不,它们在每种情况下都不同。
-
@Aya 不,我不想拆分 bt 下划线。他们现在被这样排序只是偶然。