def parse_the_file():
lower = str.lower
split = str.split
with open('f.txt') as f:
d = {}
lines = f.read().split('\n')
for A,B in [split(l) for l in lines]:
try:
d[lower(A)].add(B)
except KeyError:
d[lower(A)] = set(B)
for a in d:
print "%s - %s" % (a,",".join(list(d[a])))
if __name__ == "__main__":
parse_the_file()
我将使用Python字典,其中字典键是列A值,字典值是Python内置的Set type保存列B值
使用字典的好处是每列a值都有一个字典键。使用集合的好处是您将拥有一组唯一的列B值。在
效率注释:
a = lower(A)
在输入示例上测试上面的代码可以得到:
^{pr2}$Perl“one liner”有意/扩展,以便所有内容都适合窗口:
如果我看到原版海报上有一致的尝试,我会解释的。在
您可以使用这个简单的多重映射:
看到它的行动:http://codepad.org/xOOrlbnf
相关问题 更多 >
编程相关推荐