2

私はメモ帳に保存されたテキストファイルを持っていますが、左側に国を表す3文字の頭字語があり、右側に約4〜5個のスペースがあるpythonフォルダーに移動しました。次のように対応する国があります。

AFG アフガニスタン
ARM アルメニア
など

3文字をキーにして国を値にする辞書が必要です。オリンピックに参加するすべての国があります。これまでの私のコードは次のようになります。

def country(fileName):
    infile = open(fileName,'r')
    countryDict = {}
    for line in infile:
        key,value = line.split()
        countryDict[key] = value
    print(countryDict)
    return countryDict
country('CountryCodes.txt')
4

6 に答える 6

2

国コードから説明を分割したいようです... 以下は、空の説明または複数の単語の説明に対応します

with open('input') as fin:
    country_lookup = dict(line.strip().partition(' ')[::2] for line in fin)
于 2013-07-15T12:17:11.517 に答える
1

行の 1 つに複数のスペースが必要なため、split()が期待する 2 つ以上の値が返されkey,value = line.split()ます。

于 2013-07-15T12:13:31.253 に答える
1

一部の国では、名前に複数の単語が含まれているため、複数の値フィールドが表示されます。次を試してください。

def country(fileName):
    infile = open(fileName,'r')
    countryDict = {}
    for line in infile:
       key = line[0:3]
       value = line[3:].strip()
       countryDict[key] = value
    print(countryDict)
    return countryDict
country('CountryCodes.txt')
于 2013-07-15T12:13:41.723 に答える