python - 在混合列表中查找最高值,然后返回项目名称和项目名称 + VAT%
问题描述
对于我的大学工作,我需要从另一个 python 文件中导入一个列表,然后从中获取一个值。该列表类似于名称、尺寸、价格、增值税率。我们不允许更改列表或导入除 python 文件(包含其他值的负载)以外的任何内容
从这个列表中,我需要找到最高值并返回项目名称以及打印带有附加增值税的值。我想过找到最高的数值,找出百分比(还不确定如何),然后返回 2 个值来找到名称,但我不知道如何编码。我环顾四周,找不到任何解决方案。如果可能的话,我将不胜感激!
sweetshop_array = [ "Innocent Orange Juice Smooth", "1.35L", 3.2, 0,
"Tropicana Orange Juice Original", "0.95L", 2.48, 0,
"Growers Harvest Pure Apple Juice", "1L", 0.69, 0,
"Innocent Coconut Water", "1L", 3.69, 0,
"Sensations Thai Sweet Chilli Crisps", "150G", 1.0, 0.2,
"Popchips Original Popped Chips", "85G", 1.85, 0.2,
"Pringles Salt & Vinegar Crisps", "200G", 2.5, 0.2,
"Kettle Chips Lightly Salted Crisps", "150G", 1.99, 0.2 ]
解决方案
如果我没有弄错,应该可以工作:
sweetshop_array = [ "Innocent Orange Juice Smooth", "1.35L", 3.2, 0,
"Tropicana Orange Juice Original", "0.95L", 2.48, 0,
"Growers Harvest Pure Apple Juice", "1L", 0.69, 0,
"Innocent Coconut Water", "1L", 3.69, 0,
"Sensations Thai Sweet Chilli Crisps", "150G", 1.0, 0.2,
"Popchips Original Popped Chips", "85G", 1.85, 0.2,
"Pringles Salt & Vinegar Crisps", "200G", 2.5, 0.2,
"Kettle Chips Lightly Salted Crisps", "150G", 1.99, 0.2 ]
max_value = ['name','size',0,0]
for index in range(0,len(sweetshop_array),4):
name = sweetshop_array[index]
size = sweetshop_array[index+1]
price = sweetshop_array[index+2]
vat_rate = sweetshop_array[index+3]
max_value = [name, size, price, vat_rate] if price > max_value[2] else max_value
max_value_name = max_value[0]
max_value_added = max_value[2] + (max_value[2] * max_value[3])
print(max_value_name, max_value_added)
推荐阅读
- python - 如何在 PySpark 中的每个分区中回填空值
- java - DataIntegrityViolationException如何处理使用JPA持久化
- java - 用两个 int 参数编写了一个方法。如何使用下面提供的信息声明更多局部 int 变量
- typescript - 为什么 Webpack 延迟加载会加载文件夹中的所有文件?
- apache-spark - 在 Spark 数据帧中连续编号重复项而不进行随机播放
- javascript - 输入搜索在 JS 中被阻止
- java - 逆时针旋转矩阵 M*N 的每个环
- python - 在一秒钟内打印 40 条消息。打印件必须在一秒钟内均匀分布
- docker - 无法在 Windows 10 上的本地 Docker 中使用弹性搜索
- iteration - 遍历列表列表,每个列表包含 2 个项目