我有一个list
,其中包含多个数字:
num_list = ['A',3452,3487,6534,4521]
list
将第一个元素作为string
作为标识符。
现在我要做的是将number
中的每个list
,分为 - 18%,22%,24%和36%中的四个部分,然后形成一个新列表,其中第一个元素作为前一个列表中的字符串,后跟前面列表中每个数字的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中做到这一点?
答案 0 :(得分: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 ------------- #