値のセットから乱数を取り出すスクリプトがあります。しかし、min()
とmax()
は辞書順に値をソートするので(200は10000よりも大きいとみなされる)、今日破られました。ここで辞書順を避けるにはどうすればいいですか? Len
キーは正しいトラックにありますが、正しくはありません。私は他の鍵を見つけることができませんでした。Pythonで数値の辞書順並べ替えを避けるmin()max()
data_set = 1600.csv, 2405.csv, 6800.csv, 10000.csv, 21005.csv
まず試してみてください。
highest_value = os.path.splitext(max(data_set))[0]
lowest_value = os.path.splitext(min(data_set))[0]
リターン:lowest_value = 10000
highest_value = 6800
2回目の試行:
highest_value = os.path.splitext(max(data_set,key=len))[0]
lowest_value = os.path.splitext(min(data_set,key=len))[0]
リターン:lowest_value = 1600
highest_value = 10000
ありがとうございます。
あなたは 'key = int'を試しましたか? –
そのような 'int'だけを使うと、' ValueError'、@Paulが発生します。もちろん、私は彼のデータセット要素が文字列であると仮定しています。 –
@ChristianDean私のデータセットは本質的にフォルダ内の数値的に名前のついたファイルの 'dir'です。したがって、' splitext'はそれを助けますか? –