相关疑难解决方法(0)

`sorted(list)`vs`list.sort()`有什么区别?

list.sort()对列表进行排序并保存已排序的列表,同时sorted(list)返回列表的已排序副本,而不更改原始列表.

  • 但什么时候使用哪个?
  • 哪个更快?又快多少?
  • 可以在之后检索列表的原始位置list.sort()吗?

python sorting copy list in-place

165
推荐指数
5
解决办法
9万
查看次数

os.walk迭代迭代的顺序是什么?

我担心文件和目录的顺序os.walk().如果我有这些目录,1,10,11,12,2,20,21,22,3,30,31,32,什么是输出列表的顺序?

它是按数值排序的吗?

1 2 3 10 20 30 11 21 31 12 22 32
Run Code Online (Sandbox Code Playgroud)

或者按ASCII值排序,就像给出的那样ls

1 10 11 12 2 20 21 22 3 30 31 32
Run Code Online (Sandbox Code Playgroud)

另外,我该如何获得特定的排序?

python sorting os.walk

60
推荐指数
3
解决办法
4万
查看次数

我能理解os.walk吗?

root,dir,file的循环是os.walk(startdir)通过这些步骤工作的吗?

for root in os.walk(startdir) 
    for dir in root 
        for files in dir
Run Code Online (Sandbox Code Playgroud)
  1. 得到启动目录的根目录:C:\ dir1\dir2\startdir

  2. 获取C:\ dir1\dir2\startdir中的文件夹并返回文件夹列表"dirlist"

  3. 获取第一个dirlist项目中的文件并返回文件列表"filelist"作为文件列表列表的第一项.

  4. 移动到dirlist中的第二个项目并返回此文件夹"filelist2"中的文件列表作为文件列表列表的第二项.等等

  5. 移动到foldertree的下一个根,从2开始.

对?或者它首先得到所有的根,然后所有的dirs第二和所有文件第三?

python file

24
推荐指数
6
解决办法
4万
查看次数

os.walk并排序以数字开头的文件名

我正在尝试遍历我拥有的文件,并且希望将每两个文件放在一对中,尤其是每两个文件之后实际上是相关的.

我将文件排序在我的目录中,并使用以下内容遍历目录并读取文件对:

for root, dirs, files in os.walk(TRAIN_DIR):
        for file1, file2 in itertools.izip_longest(files[::2], files[1::2]):
Run Code Online (Sandbox Code Playgroud)

但是,我以不同的顺序接收file1和file2,而不是像目录中那样紧接着的两个文件.os.walk然后返回未分类的文件吗?我应该怎么做才能按排序顺序浏览文件?

谢谢.

编辑1

这就是我跑的方式files.sort():

for root, dirs, files in os.walk(TRAIN_DIR):
            files.sort()
            for file1, file2 in itertools.izip_longest(files[::2], files[1::2]):
Run Code Online (Sandbox Code Playgroud)

python operating-system for-loop

1
推荐指数
1
解决办法
515
查看次数

标签 统计

python ×4

sorting ×2

copy ×1

file ×1

for-loop ×1

in-place ×1

list ×1

operating-system ×1

os.walk ×1