如何在python中将数字划分为多个不等的部分?

时间:2015-09-15 14:36:22

标签: python list split

我有一个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中做到这一点?

1 个答案:

答案 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 ------------- #