Tal*_*war 0 python for-loop list
我有一个清单:
['Title', 'Text', 'Title', 'Title', 'Text', 'Title', 'Text', 'List', 'Text', 'Title', 'Text', 'Text']
Run Code Online (Sandbox Code Playgroud)
我希望每个元素都连接到该元素之前的元素“Title”。例如,索引 1 处的文本连接到索引 0 处的标题,索引 2 处的标题不会连接到任何元素,因为它后面还有另一个标题. 索引 4 处的文本连接到标题 3,类似地,位置 10,11 处的文本将连接到索引 9 处的标题。
这是预期的输出:
{1:0,4:3,6:5,7:5,8:5,10:9,11:9}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
您可以使用循环:
l = ['Title', 'Text', 'Title', 'Title', 'Text', 'Title', 'Text', 'List', 'Text', 'Title', 'Text', 'Text']
last = -1
out = {}
for i, v in enumerate(l):
if v == 'Title':
last = i
else:
out[i] = last
print(out)
Run Code Online (Sandbox Code Playgroud)
输出:{1: 0, 4: 3, 6: 5, 7: 5, 8: 5, 10: 9, 11: 9}