2015-09-15 7 views
0

У меня есть list с несколькими номерами в нем:Как разделить число на несколько неравных частей в python?

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

list имеет 1-й элемент в качестве string, которые служат в качестве идентификатора.

Теперь то, что я хочу сделать, это принять каждый number в list, разделить его на четыре части, в - 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 ------------- # 
Смежные вопросы