我有以下代码,我希望它成为整数列表的列表。当前,它是单整数列表的列表。
timecolumn = [
[[19310]]
[[19310], [19460]],
[[19310], [19460], [19800]],
[[19310], [19460], [19800], [20260]],
[[19310], [19460], [19800], [20260], [20880]],
[[19310], [19460], [19800], [20260], [20880], [21190]],
[[19460]],
[[19460], [19800]],
[[19460], [19800], [20260]],
[[19460], [19800], [20260], [20880]],
[[19460], [19800], [20260], [20880], [21190]],
[[19800]],
[[19800], [20260]],
[[19800], [20260], [20880]],
[[19800], [20260], [20880], [21190]],
[[20260]],
[[20260], [20880]],
[[20260], [20880], [21190]],
[[20880]],
[[20880], [21190]],
[[21190]]
]
我正在尝试类似的方法,但是我敢肯定有一种更简单的方法:
for row in timecolumn:
if len(row) > 1:
n = len(row)
l = []
count = 0
for b in row:
if count != n:
l.append(b)
count = count + 1
diffcolumn.append(l)
我希望它是单个整数列表的列表(而不是单个整数列表的列表)。
答案 0 :(得分:2)
像这样简单的事情应该起作用
outer = [[item[0] for item in inner] for inner in timecolumn]
提供的内部列表仅包含一个元素
示例:
timecolumn = [[[19310]],
[[19310], [19460]],
[[19310], [19460], [19800]],
[[19310], [19460], [19800], [20260]],
[[19310], [19460], [19800], [20260], [20880]],
[[19310], [19460], [19800], [20260], [20880], [21190]],
[[19460]],
[[19460], [19800]],
[[19460], [19800], [20260]],
[[19460], [19800], [20260], [20880]],
[[19460], [19800], [20260], [20880], [21190]],
[[19800]],
[[19800], [20260]],
[[19800], [20260], [20880]],
[[19800], [20260], [20880], [21190]],
[[20260]],
[[20260], [20880]],
[[20260], [20880], [21190]],
[[20880]],
[[20880], [21190]],
[[21190]]
]
outer = [[item[0] for item in inner] for inner in timecolumn]
输出:
$ python -i timecolumn.py
>>> outer
[[19310], [19310, 19460], [19310, 19460, 19800], [19310, 19460, 19800, 20260], [19310, 19460, 19800, 20260, 20880], [19310, 19460, 19800, 20260, 20880, 21190], [19460], [19460, 19800], [19460, 19800, 20260], [19460, 19800, 20260, 20880], [19460, 19800, 20260, 20880, 21190], [19800], [19800, 20260], [19800, 20260, 20880], [19800, 20260, 20880, 21190], [20260], [20260, 20880], [20260, 20880, 21190], [20880], [20880, 21190], [21190]]
>>>
答案 1 :(得分:2)
另一种方法是将map
与sum
函数一起使用:
timecolumn = list(map(lambda elem: sum(elem,[]), timecolumn))
print(timecolumn)
结果:
[[19310], [19310, 19460], [19310, 19460, 19800], [19310, 19460, 19800, 20260], [19310, 19460, 19800, 20260, 20880], [19310, 19460, 19800, 20260, 20880, 21190], [19460], [19460, 19800], [19460, 19800, 20260], [19460, 19800, 20260, 20880], [19460, 19800, 20260, 20880, 21190], [19800], [19800, 20260], [19800, 20260, 20880], [19800, 20260, 20880, 21190], [20260], [20260, 20880], [20260, 20880, 21190], [20880], [20880, 21190], [21190]]