Python排名和元组

时间:2012-12-27 14:27:48

标签: python tuples rank

我要做的是从配置文件中读取一个列表:

import re
from configobj import ConfigObj
config = ConfigObj('food.conf')
meal_list = config['MainConfig']['MealList']

配置中的MealList部分看起来像Turkey|Hamburger|Chicken等等。

之后我需要通过以下方式运行它们:

for meal in meal_list:
    if re.search( config[meal][ingredients]['Allowlist'], badingredients, re.M|re.I):

这是我的第一个问题。我如何正确加入它们?在此for部分之后,我将它们传递给排名函数。那么如何将“允许的”加入元组呢? 等级也在配置文件中定义。

meal_allowed = ('Hamburger', 2),('Chicken', 3),('Turkey', 4)

food = sorted(meal_allowed, key=lambda student: student[1])
food_to_eat = str(food).translate(None, "-[]()'0123456789").replace(" ",      "").replace(",,",",")
print food_to_eat

简而言之,我如何使用.join()然后将其转换为元组?

修改

我正在寻找的另一个例子。

meals = 'hamburger', 'Turkey', 'Chicken'
for meal in meals:
 rank = config[meal][rank]
 if re.search( config[meal][ingredients]['Allowlist'], badingredients, re.M|re.I):
  eatable = meal + meal + rank

可食用应该是('汉堡',2),('鸡',3),('土耳其',4)格式。 否则,我无法对其进行排名。

1 个答案:

答案 0 :(得分:0)

这是你想要的吗?

meal_allowed = tuple(('Hamburger', 2), ('Chicken', 3), ('Turkey', 4))

修改

对于每个meal

meals = ['hamburger', 'Turkey', 'Chicken']
for meal in meals:
    rank = config[meal][rank]

您必须在rank中定义rank = config[meal][rank]变量。在此之后,您可以构建一个元组列表,例如:

eatable = list()
meals = ['hamburger', 'Turkey', 'Chicken']
for meal in meals:
    rank = config[meal][rank]
    if re.search( config[meal][ingredients]['Allowlist'], badingredients, re.M|re.I):
        eatable.append((meal, rank))

print eatable

无论如何,你不应该说“食用”而不是“食用”吗?或者他们都是对的? ^^