我有一个列表,其中alias dps='docker ps --no-trunc --format "table{{.Names}}\t{{.CreatedAt}}\t{{.Command}}"'
在字符串 S 中。
x[0][0] = position of x[0][1]
我想创建一个元组列表,以便输出列表将是特定类型标记的开始和结束位置对-
x = [[157, 'Start_Summary'], [1228, 'End_Summary'], [1233, 'Start_Skills'], [1540, 'End_Skills'], [1925, 'Start_Work'], [2392, 'profile_start'], [4378, 'profile_end'], [4451, 'profile_start'], [5368, 'profile_end'], [5759, 'profile_start'], [7000, 'profile_end'], [7000, 'End_Work']]
我尝试使用 for循环和 if-else 语句,但是我正在寻找一种生成此类列表的Python方法。
答案 0 :(得分:-1)
您可以将数据存储在collections.defaultdic
中:
from collections import defaultdict
data = defaultdict(list)
positions = {'start', 'end'}
for n, s in x:
p, t = s.lower().split('_')
if p not in positions:
p, t = t, p
data[t].append(n)
[tuple(v[i: i + 2] ) for v in data.values() for i in range(0, len(v)-1, 2)]
输出:
[(157, 1228),
(1233, 1540),
(1925, 7000),
(2392, 4378),
(4451, 5368),
(5759, 7000)]