0

私がやろうとしているのは、構成ファイルからリストを読み取ることです:

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

構成のMealListセクションはTurkey|Hamburger|Chickenetc などのようになります。

その後、それぞれを実行する必要があります。

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

eatable は ('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 に答える