将变量赋给列表项python

时间:2015-12-18 02:26:46

标签: python arrays variables append

我正在寻找一种方法,通过使用相同的方法将变量分配给特定的列表项。这是我启发事物的代码。

{{1}}

饮料被输入饮料并且可能会根据输入的内容而有所不同。

即:饮料= ['啤酒','啤酒','烈酒'' maltbeer']

饮料是附加输入,只接受作为进一步看到的变量之一。

2 个答案:

答案 0 :(得分:1)

使用字典表示各种饮料:

abv = {"beer": 5
       "maltbeer": 7,
       "tablewine": 12,
       "fortifiedwine": 17,
       "aperitif": 24,
       "spirits": 40}

percentage = 0

for drink in drinks:
    if drink in abv:
        percentage += percentageCalc + abv[drink]
    else:
        print("don't know about %s" % drink)

percentage /= 100.0

我还从单个项目中删除了/100计算,并在最后添加,并在饮料未知的情况下实施了错误消息。

答案 1 :(得分:0)

您可以使用字典将每种饮品类型保存为字典键。每种饮料的价值是它的百分比。

drink_strength = {
    'beer': 5/100,
    'maltbeer': 7/100,
    'tablewine': 12/100,
    'fortifiedwine': 17/100,
    'aperitif': 24/100,
    'spirits': 40/100,
}

drinks = ['beer', 'beer', 'spirits', 'maltbeer', 'lemonade']
percentage_calc = sum(drink_strength.get(drink, 0) for drink in drinks)
print(percentage_calc)

<强>输出

0.5700000000000001

通过连续添加每种饮料的百分比来计算百分比,或者,如果饮料未知,则假设为0%。

N.B。上面的代码假设使用Python 3.如果使用Python 2,您可以添加到文件的顶部:

from __future__ import division

这样,例如7/100 = 0.7而不是0,因为Python 2整数除法会产生。