python - 为什么添加'sort(key = len,reverse = True))'到列表将函数的输出从列表更改为无
问题描述
当我运行这个:
def get_substring(str_name,k):
str_list = []
for i in reversed(range(len(str_name)+1)):
for index,x in enumerate(str_name):
str_list.append(str_name[index:index+i])
filtered_list = list(filter(None,str_list))
return filtered_list
输出是:
['abcba', 'bcba', 'cba', 'ba', 'a', 'abcb', 'bcba', 'cba', 'ba', 'a', 'abc', 'bcb', 'cba', 'ba', 'a', 'ab', 'bc', 'cb', 'ba', 'a', 'a', 'b', 'c', 'b', 'a']
我想返回一个排序列表,所以列表首先返回最长的字符串,但是当我运行这个时:
def get_substring(str_name,k):
str_list = []
for i in reversed(range(len(str_name)+1)):
for index,x in enumerate(str_name):
str_list.append(str_name[index:index+i])
filtered_list = list(filter(None,str_list)).sort(key=len,reverse=True)
return filtered_list
print(get_substring('abcba', 2)) #.sort(key=len,reverse=True))
输出只是“无”。
为什么是这样?我不能对函数中的列表进行排序吗?
解决方案
推荐阅读
- ubuntu - GCC 为获取和放置调用 __fn_chk,我怎样才能直接调用不安全的函数?
- velo - 在 wix.com 上将用户导入为站点成员的解决方法
- reactjs - 在下拉项上使用 onClick 时,bind() 不运行
- node.js - 通过 post 将值从 ajax 传递到节点
- python - 如何从数据框中提取整数?
- php - Laravel 登录路径不起作用 - 提交按钮不起作用
- typescript - 添加带有模块声明的附加 .d.ts 文件
- javascript - JavaScript 对象到文件对象
- c# - 如何将每个单词的首字母大写,而其余字母不小写?
- android - gradle 版本 3.2.1 破坏了 Lambdas