私は Python 3.2.3 を使用しており、リスト内の特定の要素から最大数を見つけたいと考えています。どの要素が最大数であるかについてある程度の知識を保持することも重要ですが、これがどのように発生するかについては非常に柔軟です. 説明させてください...
バックグラウンド
次のリストがあります。
the_list = ['Order', '1', '5', 'Order', '2', '18', 'Order', '3', '45', 'Order', '4', '2', 'Order', '5', '8', 'Order', '6', '2', 'Order', '7', '1', 'Order', '8', '1', 'Order', '9', '1']
3 つのリスト要素ごとに、最初の 2 つはデータの記述です。つまり、「Order 1」、「Order 2」、「Order 3」のように「Order」、「1」、...「Order」、「 2'、... 'Order'、'3'、... 'Order 9' まで。これらは変更されず、3 つおきのリスト要素のソースまたは名前を提供します。
3 つのリスト要素ごとに 3 番目が問題の情報です。この例では、数値は 5... 18... 45... 2... などです。この 3 番目ごとの要素から、最大数を見つけたいと思います。この場合、その最大数は 45 です。これらの数は常に変化します。0 から 100 までの任意の整数を指定できます。
これまでに試したこと
Python の max() 関数を 2 つの方法で使用してみました。まず、単純に...
max(the_list)
...最大値として「注文」を提供します。私の目標の残念。
そこで、元のリストの 3 番目ごとの要素だけで構成される新しいリストを作成してみることにしました。そのようです...
foo = (the_line[2], the_line[5], the_line[8], the_line[11], the_line[14], the_best_line[17], the_best_line[20], the_best_line[23], the_best_line[26])
max(foo)
... これは、最大数として「8」、15 番目のリスト要素、および 5 番目の 3 番目のリスト要素を提供します。これは数値ですが、[この例では] 45 という最大の数値ではありません。
私はまた、一連の if-else ステートメントを作成することに手を出しましたが、成功せず、より Pythonic//elegant な方法が必要であるという考え方に陥りました。私は、このルートであまりにも早く辞めた可能性があること、および/または私の考え方が間違っていることを認めます.