for x in mylist:
print x
输出类似于:
['2009/09/13_00:00', 'R']
['2009/09/13_00:00', 'R']
['2009/09/13_00:00', 'R']
['2009/09/13_00:00', 'R']
['2009/09/13_00:00', 'R']
['2009/09/13_00:00', 'R']
['2009/09/13_00:00', 'J']
['2009/09/13_00:00', 'J']
['2009/09/16_00:00', 'R']
['2009/09/18_00:00', 'R']
['2009/09/19_00:00', 'R']
['2009/09/23_00:00', 'R']
['2009/09/24_00:00', 'R']
['2009/09/24_00:00', 'W']
['2009/09/24_00:00', 'S']
['2009/09/24_00:00', 'S']
['2009/09/24_00:00', 'T']
我怎样才能将同一日期的重复项连接在一起?
例如,我想要的输出是:
['2009/09/13_00:00', 'R, R, R, R, R, R']
['2009/09/13_00:00', 'J, J']
['2009/09/16_00:00', 'R']
['2009/09/18_00:00', 'R']
['2009/09/19_00:00', 'R']
['2009/09/23_00:00', 'R']
['2009/09/24_00:00', 'R']
['2009/09/24_00:00', 'W']
['2009/09/24_00:00', 'S, S']
['2009/09/24_00:00', 'T']
我试图对此进行图表处理。
感谢您的帮助。
答案 0 :(得分:1)
mylist= [['2009/09/13_00:00', 'R'],
['2009/09/13_00:00', 'R'],
['2009/09/13_00:00', 'R'],
['2009/09/13_00:00', 'R'],
['2009/09/13_00:00', 'R'],
['2009/09/13_00:00', 'R'],
['2009/09/13_00:00', 'J'],
['2009/09/13_00:00', 'J'],
['2009/09/16_00:00', 'R'],
['2009/09/18_00:00', 'R'],
['2009/09/19_00:00', 'R'],
['2009/09/23_00:00', 'R'],
['2009/09/24_00:00', 'R'],
['2009/09/24_00:00', 'W'],
['2009/09/24_00:00', 'S'],
['2009/09/24_00:00', 'S'],
['2009/09/24_00:00', 'T'],
]
for i in list(set([ tuple(i) for i in mylist])):
print [list(i) +[list(i)[-1]] * (mylist.count(list(i))-1) ]
Output
:
[['2009/09/13_00:00', 'R', 'R', 'R', 'R', 'R', 'R']]
[['2009/09/16_00:00', 'R']]
[['2009/09/24_00:00', 'T']]
[['2009/09/24_00:00', 'S', 'S']]
[['2009/09/13_00:00', 'J', 'J']]
[['2009/09/24_00:00', 'R']]
[['2009/09/18_00:00', 'R']]
[['2009/09/19_00:00', 'R']]
[['2009/09/23_00:00', 'R']]
[['2009/09/24_00:00', 'W']]
答案 1 :(得分:0)
或者更明确地说,使用字典:将日期和字母作为键收集并跟踪字母出现次数:
mydict = {}
for date, letter in mylist:
try:
mydict[(date, letter)] += 1
except KeyError:
mydict[(date, letter)] = 1
for date, letter in sorted(mydict.keys()):
n = mydict[date, letter]
print [date, ','.join([letter]*n)]