2016-10-01 2 views
0
record=['MAT', '90', '62', 'ENG', '92','88'] 

course='MAT' 

私はMATまたはENGのマークを取得したいと考えていますか?私はちょうど新しい[4:10] .index(コース)のコースのインデックスを見つける方法を知っています。 Idkはマークを取得する方法。 i'MAT'又はいずれかのコースの指標/位置であり、グレード、コース名の後に二つのスロットを含むスライス内の項目であり、この場合Pythonでリストにインデックスを付ける

i = record.index('MAT') 
grades = record[i+1:i+3] 

答えて

1

はこれを試してみてください。

また、関数の中でそれを置くことができます:

def get_grades(course): 
    i = record.index(course) 
    return record[i+1:i+3] 

次に、あなただけのコース名を渡すと成績を取り戻すことができます。

>>> get_grades('ENG') 
['92', '88'] 
>>> get_grades('MAT') 
['90', '62'] 
>>> 

編集

あなたの代わりに次のように機能を変更することができ、個々の値を持つリストの2つのグレードの文字列を取得したい場合は:あなたが使用することができます

def get_grades(course): 
    i = record.index(course) 
    return ' '.join("'{}'".format(g) for g in record[i+1:i+3]) 
+0

elethan私の最終的な答えは'90 '' 92 ' – Bob

+0

です。@Bob出力することができます' '' 90 '' 92 '"' wan't、または ''90 92''それ自身の(2つの文字列として) '' 90 '' 92 ''は動作しません。それは "9092"にconcatinatedされます。 – elethan

+0

どうすればいいですか? '' 90 '' 92 '" – Bob

0

index関数(これはhttps://stackoverflow.com/a/176921/を参照)と後で次のインデックスを取得しますが、私はあなたが辞書を使うべきだと思います。

関連する問題