![](/img/trans.png)
[英]How can I solve : TypeError: 'NoneType' object is not iterable
[英]how can I solve TypeError: 'NoneType' object is not iterable in pyhton
import pyfiglet
pyfiglet.print_figlet("Niko CyMax",'puffy')
num_list=[ (1,2) , (3,1000) , (5,6) , (9,10) , (8,500) , (70,400) ]
num_list_manual_sort=num_list.sort()
num_list_pro_sort=num_list.sort(key = lambda x: x[1])
for i in num_list_manual_sort:
print(i)
for i in num_list_pro_sort:
print(i)
錯誤是:
TypeError: 'NoneType' object is not iterable
使用sort()
對列表進行排序會更改原地列表,這意味着列表num_list
會直接更改,而不是返回排序后的列表而原始列表保持不變。 您想使用內置的sorted
function,這正是您想要的:
import pyfiglet
pyfiglet.print_figlet("Niko CyMax",'puffy')
num_list=[(1, 2), (3, 1000), (5, 6), (9, 10), (8, 500), (70, 400)]
num_list_manual_sort = sorted(num_list)
num_list_pro_sort = sorted(num_list, key=lambda x: x[1])
for i in num_list_manual_sort:
print(i)
for i in num_list_pro_sort:
print(i)
當您使用sort
方法對列表進行排序時,您正在更改列表本身,並且返回None
。
num_list_manual_sort=num_list.sort()
num_list_pro_sort=num_list.sort(key = lambda x: x[1])
num_list_manual_sort
和num_list_pro_sort
都將持有None
。 如果您想取回列表,可以將其替換為:
num_list.sort()
num_list_manual_sort = num_list[:]
num_list.sort(key = lambda x: x[1])
num_list_pro_sort = num_list[:]
這樣做有更多選擇,取決於您的需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.