기존 목록에서 목록을 만들고 싶습니다.목록의 수학 - 파이썬
원래이 목록 :
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로 시작한다는 점을 알고 있습니다. ...
수동으로 수학과 같이 될 것이다 :
이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
인쇄가
012,351,641 결과 :1 + 2 = 3
3 + 2 = 5
5 + 3 = 8
8 + 4 = 12
12 + 1 = 13
13 + 4 = 17
17 + 1 = 18
이 시도
했지만 실패 이잖아 ...
나는이 말이 바랍니다 .....
감사합니다 당신이 총을 실행라고하고 싶었던 무엇 모든
C perfor mance, 이것을위한'np.cumsum '도있다. – wim
이것은 정확히 내가 원했던 것입니다! 고마워. –
@wim 감사합니다, 그것을 몰랐습니다. –