Zum Beispiel ist es eine Möglichkeit, die folgenden zu sortieren:Python: Gibt es eine Möglichkeit, eine Zeichenfolge mit nur ausgewählten Zeichen in der Zeichenfolge zu sortieren?
model_1_depth/depth_w/read/_79__cf__79
model_2_depth/depth_w/read/_73__cf__73
model_3_depth/depth_w/read/_67__cf__67
model_4_depth/depth_w/read/_61__cf__61
model_5_depth/depth_w/read/_55__cf__55
model_6_depth/depth_w/read/_49__cf__49
model_7_depth/depth_w/read/_43__cf__43
model_8_depth/depth_w/read/_37__cf__37
model_9_depth/depth_w/read/_31__cf__31
model_10_depth/depth_w/read/_25__cf__25
model_11_depth/depth_w/read/_19__cf__19
model_12_depth/depth_w/read/_13__cf__13
model_13_depth/depth_w/read/_7__cf__7
model_13_point/weights/read/_4__cf__4
model_12_point/weights/read/_10__cf__10
model_11_point/weights/read/_16__cf__16
model_10_point/weights/read/_22__cf__22
model_9_point/weights/read/_28__cf__28
model_8_point/weights/read/_34__cf__34
model_7_point/weights/read/_40__cf__40
model_6_point/weights/read/_46__cf__46
model_5_point/weights/read/_52__cf__52
model_4_point/weights/read/_58__cf__58
model_3_point/weights/read/_64__cf__64
model_2_point/weights/read/_70__cf__70
model_1_point/weights/read/_76__cf__76
model_0/weights/read/_82__cf__82
nur mit der Ganzzahl, die nach dem „Modell“ kommt? Ich habe versucht, nur diese Ganzzahlen mit re.sub("_", "", re.sub(r'[^\w]', '', key[6:8]))
zu erfassen, um die ganzen Zahlen zu sortieren, aber ich bin nicht in der Lage, das sortierte Ergebnis zu verwenden, um die ursprünglichen Zeichenfolgen zu finden, da es einige Duplikate gibt, wie '1' gehört sowohl model_1_point/weights/read/_76__cf__76
als auch model_1_depth/depth_w/read/_79__cf__79
und es wird nicht möglich sein, die beiden zu unterscheiden.
Gibt es eine elegante Möglichkeit, dies zu tun?
EDIT: Um zu verdeutlichen, sind die folgenden Zeichenfolgen in einem Wörterbuch, und ich möchte so sortieren, dass 1 die kleinste und 13 die größte ist.
sind diese Strings in einem 'list' oder so etwas? –
Wenn das Problem, das Sie haben, ist, dass das keine Liste ist, können Sie es mit 'your_string.split()' –
'b = sortierten (a, Schlüssel = Lambda x: int (x.split (')/') [0] .split (' _ ') [1]))' aber ich würde eine 're'gex-Lösung bevorzugen. –