リストを並べ替えたい各リストの最初の要素に基づいて、リストのリストがあります。これらのインデックスのサンプル:
vlan1
usb0
eth1
vlan4
vlan20
それらがそれぞれ vlanX と同じ長さである場合、次のようにします。
table_data = sorted(table_data, key = lambda x: int(x[0][4:]))
vlan が最初に来て、残りは問題にならないような方法でそれらを並べ替えたいと思います。それらがソートされていれば素晴らしいですが、必須ではありません(複数のusbまたはethが存在することはないと思います)。
vlan1
vlan4
vlan20
usb0
eth1
ラムダを調整して実行するのは簡単ですか、それとも関数を作成して実行するだけですか?
私はこれを試しましたが、明らかに、vlan をソートしている間、usb と eth が間違った場所にそのまま残ります。
table_data = sorted(table_data, key = lambda x: x = True if "vlan" not in x[0] else int(x[0][4:]))
編集:そのスレッドは私が望むものに答えませんか? それは、usb 要素と eth 要素を vlan 要素の間に並べ替えますが、これは私が望むものではありません。