0

我想做的是从配置文件中读取列表:

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部分之后,我将它们传递给 rank 函数。那么如何将“允许的”加入到元组中呢?等级也在配置文件中定义。

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

可食用的应该是 ('Hamburger', 2),('Chicken', 3),('Turkey', 4) 格式。否则我无法排名。

4

1 回答 1

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

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

于 2012-12-27T14:45:58.617 回答