2015-09-15 43 views
0

我有多個數字的list在它:如何在Python中將數字分成多個不相等的部分?

num_list = ['A',3452,3487,6534,4521] 

list的具有第一元件作爲string充當標識符。

現在我想要做的就是採取在list每個number將它分爲四個部分 - 18%,22%,24%和36%,然後形成具有第1個要素作爲一個新的列表先前列表中的字符串後面跟着前面列表中每個數字的4個分開的部分。所以輸出應該是這樣的:

new_list = ['A',part1 of num1,part2 of num1,part3 of num1,part4 of num1,part1 of num2,part2 of num2,part3 of num2,part4 of num2......] 

我怎麼能在python中做到這一點?

+1

'new_list = [num_list [0]]。 new_list.append(num_list [1] * 0.18); new_list.append(num_list [1] * 0.22); ...' – Kevin

+0

到目前爲止你做了什麼?你能提供一個代碼嗎? – Cyrbil

+1

非常不贊同「太寬泛」的結束投票。這是一個非常具體的問題,並且有明確的說明。 –

回答

4

可以用列表理解解決它:

>>> num_list = ['A', 3452, 3487, 6534, 4521] 
>>> percents = [0.18, 0.22, 0.24, 0.36] 
>>> [num_list[0]] + [item * percent for item in num_list[1:] for percent in percents] 
['A', 621.36, 759.44, 828.48, 1242.72, 627.66, 767.14, 836.88, 1255.32, 1176.12, 1437.48, 1568.1599999999999, 2352.24, 813.78, 994.62, 1085.04, 1627.56] 
     # --------- num1 ------------ # # --------- num2 ------------ # # ------------------ num3 ----------------- # # --------- num4 ------------- # 
相關問題