我正在尝试从另一个现有的浮点数列表构建一个新的浮点数列表。通过示例更容易识别第一个列表的预期内容:
price_list = [39.99, 74.99, 24.99, 49.99]
预期的后期功能:
print new_price_list
>>[29.99, 34.99, 44.99, 54.99, 59.99, 64.99, 69.99]
新列表是通过查看现有列表的范围得出的,并从现有列表中的最小值开始,附加现有列表中不存在的浮点数 += 5.00。我最初尝试的解决方案是:
price_list = [39.99, 74.99, 24.99, 49.99]
min_price = min(price_list)
new_price_list = []
while min_price < max(price_list):
if min_price not in price_list:
new_price_list.append(min_price)
min_price += 5.00
for price in new_price_list:
print price
>>29.99
>>34.99
>>39.99
>>44.99
>>49.99
>>54.99
>>59.99
>>64.99
>>69.99
仅供参考:
print new_price_list
>>[29.99, 34.989999999999995, 39.989999999999995, 44.989999999999995, 49.989999999999995, 54.989999999999995, 59.989999999999995, 64.99, 69.99]
与此同时,我已经确定了如何将 min_price 与 Price_list 中的商品进行比较的问题。我的尴尬解决方案如下。然而,我仍然很好奇是否有办法更有效地完成这项任务,就像我在最初猜测解决方案时所寻求的那样,或者甚至可能更多地使用列表理解,即使 min_price += 5.00 ?
price_list = [39.99, 74.99, 24.99, 49.99]
min_price = min(price_list)
new_price_list = []
while min_price < max(price_list):
if int(min_price) not in [int(price) for price in price_list]:
new_price_list.append(int(min_price))
min_price += 5.00
better_price_list = [price + 0.99 for price in new_price_list]
print better_price_list
[29.99, 34.99, 44.99, 54.99, 59.99, 64.99, 69.99]
非常感谢您的帮助!期待更好地了解这个社区。