2

タブ区切りのファイルを (文字列として) 受け取り、それをキーとしての整数と 2 つの浮動小数点数と値のリストを持つディクショナリに変換する次の関数を作成しました。

def parseResults(self, results):
    """
    Build a dictionary of the SKU (as key), current UK price and current Euro price
    """
    lines = results.split('\n')
    individual_results = []
    for i in range(1,len(lines)-1):
        individual_results.append(lines[i].split('\t'))
    results_dictionary = {}
    for i in range(len(individual_results)):
        results_dictionary[int(individual_results[i][0])] = [float(individual_results[i][1]), float(individual_results[i][2])]
    return results_dictionary

リスト内包表記と辞書内包表記の使用について読んできましたが、これを構築する最良の方法が何であるかはよくわかりません。

次を使用して、最初のリストの作成を簡素化できると思います。

individual_results = [results.split('\t') for results in lines[1:]]

しかし、辞書を作成する最良の方法はわかりません。中間リストを作成しなくても、これはきちんとした方法で可能かもしれないと感じています。

ありがとう、

マット

4

4 に答える 4