我正在尝试按len大小排序列表.但我得到一个奇怪的语法错误.我是python的新手,所以我可能做错了什么
代码的相关部分:
orderedpaths=[]
if(len(paths)==1):
orderedpaths=paths
else:
c=0
while(len(paths)!=0):
if(c==0):
smallest=(len(paths[c])
c+=1
else:
if(len[paths[c])<smallest):
smallest=(len(paths[c]))
orderedpaths.append(paths[c])
del paths[c]
c+=1
return orderedpaths
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "test.py", line 153
c+=1
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我不知道为什么.
eum*_*iro 22
你的问题是括号中的数量:
smallest=(len(paths[c])
Run Code Online (Sandbox Code Playgroud)
并在:
if(len[paths[c])<smallest):
Run Code Online (Sandbox Code Playgroud)
还有:
if(len[paths[c])<smallest):
Run Code Online (Sandbox Code Playgroud)
要根据路径长度对路径进行排序,您可以尝试这样做:
orderedpaths = sorted(paths, key=len)
Run Code Online (Sandbox Code Playgroud)
这是文档sorted.
| 归档时间: |
|
| 查看次数: |
8531 次 |
| 最近记录: |