不明な数のサブリストを含むリストを生成するアルゴリズムがあり、各サブリストには不明な数の文字列要素と 1 つの浮動小数点数があります。このフロートに従って、これらのサブリストをメイン リスト内でソートする必要があります。また、サブリスト内の文字列の順序は並べ替えられません。
現在、dictを使用してソートするコードのチャンク(以下にリンク)を実行しています。ご覧のとおり、KeyErrors が発生しています。私は以前に辞書を扱ったことがないので、ここからどこへ行くべきかわかりません。より良い方法があれば、辞書もそれに対して開かれています。http://ideone.com/wr8UA
フロートはシーケンシャルではありません。私が持っている方法を使用して、これがどれほど大きな取引であるかはわかりません。つまり、数字はときどきスキップされます (Ideone の例のリストでは、1.0、2.0、4.0 です。実行時にこの状況をシミュレートするために 3.0 をスキップしています)。それらはサブリストの特定の場所にもないため、すべての for ループがそれらを検索します。
これが明確であることを願っています。私は以前に質問してみましたが、何が人々を混乱させたかについての質問ではなく、反対票を獲得しました。何か問題がある場合はお知らせください。みんな、ありがとう!
編集:要求された本文のコード:
listed = [ ["1 NWZ", "1 RWZ", "2 NWZ", "2 RWZ", "1E HZ", "1W HZ", "1-2EHZ", 2.0, "2W HZ"],
["1 NWZ", "1W HZ", "3E FZ", "SNOK", "POK", 3.0, "1-2EHZ", "2E AK", "2W HZ"],
["1 BW", "1AW AS", "3E FZ", "1BWAK", "POK", "TESTK", "1-2EHZ", "2E AK", 1.0]]
dictionary={}
for sub_list in listed:
for value in sub_list:
if isinstance(value,float):
dictionary[str(value)]=sub_list
else:
pass
ordered_list=[]
for i in range(1,len(listed)+1):
if dictionary[str(i)]:
ordered_list.append(dictionary[str(i)])
for sub_list in ordered_list:
print sub_list