[已解决]python sort()函数返回None

背景:

最近在跟着coursera上面Dr.Chuck课程《Python Data Structures》入门python,遇到关于list结构使用sort函数排序的一点问题。
(btw:Dr.Chuck真的不要太有魅力啊,感觉自己本来对编程无感的的弱鸡都开始喜欢上了。向想学习的小伙伴墙裂推荐Dr.Chuck的一系列课程。
课程传送门


问题描述:

代码如下所示,在使用sort函数后,本来应该对list排序却显示None

fname = input("please enter the file path:")
fh = open(fname)
lst = list()
for line in fh:
    for i in line.split():
        if i in lst: continue
        lst.append(i)
print(lst.sort())

结果显示:None


原因分析:

网上冲浪了一波后发现,list.sort()后是虽然在列表内部进行了排序, 但这波操作后不会有返回值, 所以此处显示为None。
但是其实在python IDLE中是能够成功返回的:
python IDLE运行


解决方案:

其实非常简单,只用将sort函数改成sorted()就可以正常显示啦!
希望能对大家有所帮助~

print(sorted(lst))

ps. 更新:今天发现还有一种新的方法,即把最后一行更改成如下:

lst.sort()
print(lst)

应该这样也可以啦~

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值