teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/08/01 06:12

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -1,7 +1,14 @@
1
1
  もともと`grob`の結果はファイル名や数字順になる保証はなく不定ですので自力でソートする必要があります。
2
2
  この場合は[How do you sort files numerically?](https://stackoverflow.com/questions/4623446/how-do-you-sort-files-numerically)での回答コードが使えます。
3
+
4
+ なお[natsort](https://pypi.org/project/natsort/)は`pip`によるインストールが必要です。
3
5
  ```Python
6
+ import re
4
7
  File = ['case1', 'case11', 'case2', 'case21']
5
8
  File.sort(key=lambda var:[int(x) if x.isdigit() else x for x in re.findall(r'[^0-9]|[0-9]+', var)])
6
9
  print(File) # ['case1', 'case2', 'case11', 'case21']
10
+
11
+ from natsort import natsorted
12
+ File = natsorted(File)
13
+ print(File) # ['case1', 'case2', 'case11', 'case21']
7
14
  ```