我有一個值串列。現在我想用以前的值減去串列中的值,同時忽略第一個索引值的減法。雖然我做到了,但它并沒有將第一個索引值附加到新創建的串列中。如何將第一個索引值附加到串列中?
list1 = [269.76666, 284.1666, 309.45, 357.21666666666664, 393.8833333333333, 443.81666666666666]
diffs = [y - x for x, y in zip(list1 , list1 [1:])]
Output displayed:-
[14.399940000000015,
25.283399999999972,
47.76666666666665,
36.666666666666686,
49.93333333333334]
Execpted output:-
[269.76666,
14.399940000000015,
25.283399999999972,
47.76666666666665,
36.666666666666686,
49.93333333333334]
uj5u.com熱心網友回復:
由于您的代碼一次選擇兩個值,因此它不會添加第一個值,即它選擇第 1-2、2-3 等等。
因此,您可以在開頭添加第一個值diffs或在原始串列中添加零。代碼:
list1 = [269.76666, 284.1666, 309.45, 357.21666666666664, 393.8833333333333, 443.81666666666666]
list1 = [0] list1
diffs = [y - x for x, y in zip(list1 , list1 [1:])]
print(diffs)
要么
list1 = [269.76666, 284.1666, 309.45, 357.21666666666664, 393.8833333333333, 443.81666666666666]
diffs = [y - x for x, y in zip(list1 , list1 [1:])]
diffs = [li]
print(diffs)
uj5u.com熱心網友回復:
你快到了 -
first, *rest = list1
diffs = zip(list1[:-1], rest)
final = [first] [y - x for x, y in diffs]
在上面的答案中,firstand restsplit 只是為了提高可讀性,您也可以通過直接使用索引來取消它
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/433016.html
上一篇:VBA遍歷列并在指定范圍內查找值
下一篇:For回圈遍歷類
