我已经两天努力解决这个问题,但没有解决方案。
我的数据如下:
['DDD1', 'EEE1', 'AAA1', '1516988948227']
['DDD2', 'EEE2', 'AAA2', '1516988948076']
['DDD3', 'EEE3', 'AAA3', '1516990485713']
['DDD4', 'EEE4', 'AAA4', '1516990487782']
我需要的输出是:
['DDD1', 'EEE1', 'AAA1', '1516988948227','1516988948076']
['DDD2', 'EEE2', 'AAA2', '1516988948076','1516990485713']
['DDD3', 'EEE3', 'AAA3', '1516990485713','1516990487782']
['DDD4', 'EEE4', 'AAA4', '1516990487782', ' ']
换句话说,我需要在每一行中添加后面一行中数字的值。对于最后一行,我返回一个空格。
如果您有任何想法我可以如何解决问题,请帮忙。谢谢!
答案 0 :(得分:0)
这是一种方式:
from itertools import zip_longest
lst = [['DDD1', 'EEE1', 'AAA1', '1516988948227'],
['DDD2', 'EEE2', 'AAA2', '1516988948076'],
['DDD3', 'EEE3', 'AAA3', '1516990485713'],
['DDD4', 'EEE4', 'AAA4', '1516990487782']]
res = [i + [j[-1]] for i, j in zip_longest(lst, lst[1:], fillvalue=[' ']*4)]
# [['DDD1', 'EEE1', 'AAA1', '1516988948227', '1516988948076'],
# ['DDD2', 'EEE2', 'AAA2', '1516988948076', '1516990485713'],
# ['DDD3', 'EEE3', 'AAA3', '1516990485713', '1516990487782'],
# ['DDD4', 'EEE4', 'AAA4', '1516990487782', ' ']]
答案 1 :(得分:0)
我认为这是一个更具可读性的解决方案:
lst = [['DDD1', 'EEE1', 'AAA1', '1516988948227'],
['DDD2', 'EEE2', 'AAA2', '1516988948076'],
['DDD3', 'EEE3', 'AAA3', '1516990485713'],
['DDD4', 'EEE4', 'AAA4', '1516990487782']]
for i in range(len(lst)-1):
lst[i].append(lst[i+1][-1])
lst[-1].append(' ')
print(lst)