【发布时间】:2013-09-16 14:35:35
【问题描述】:
我想从现有列表创建一个列表。
原有列表:
mylist = ["single extra", "double double", "tripple, double, singe", "mohan point tripple decker","one","covent gardens london tw45hj", "honda"]
找出mylist中每个标签的字数:
num_words = [len(sentence.split()) for sentence in mylist]
打印 num_words
[2, 2, 3, 4, 1, 4, 1]
让我们暂时假设 mylist 是一个长字符串,
"single extra double double tripple double singe mohan point tripple decker one covent gardens london tw45hj honda"
我想弄清楚每个标签在那个长长的列表中从哪里开始。
所以我知道在原始列表“mylist”中,第一个索引有 2 个单词,所以它从 0 到 2 开始,然后下一个索引包含 2 个单词,所以从 3 到 5 开始,依此类推。 ..
手动计算是这样的:
1 + 2 = 3
3 + 2 = 5
5 + 3 = 8
8 + 4 = 12
12 + 1 = 13
13 + 4 = 17
17 + 1 = 18
我试过这个:
p=0
x=1
for i, item in enumerate(num_words):
result = num_words[p] + num_words[x]
results = result + num_words[x]
x += 1
p += 1
打印结果
但那失败了……
我希望这是有道理的.....
谢谢大家
【问题讨论】:
标签: python list math compression add