如何修复TypeError:“NoneType”对象在Python中不可读取?

2024-06-16 09:34:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何解决这个问题?在

def common_elements(tuple1, tuple2):
    set1 = set(tuple1)
    set2 = set(tuple2)
    lst1 = list(set1.intersection(set2))
    return tuple(lst1.sort()) #TypeError: 'NoneType' object is not iterable

print(common_elements((1, 2, 3, 4), (4, 53, 3, 5, 2, 5, 2, 6, 0)))

Tags: returndefelementscommonsortlistsettuple
2条回答

sort()对列表进行适当排序并返回None。您需要调用sort(),然后用两个不同的语句返回相同的列表:

lst1.sort()
return tuple(lst1)

list.sort() will sort the list in-place, but the return value is None.

sorted(list) will return a new list object that is sorted.

因此,正确的代码应该是:

def common_elements(tuple1, tuple2):
    set1 = set(tuple1)
    set2 = set(tuple2)
    lst1 = list(set1.intersection(set2))
    return tuple(sorted(lst1))

print(common_elements((1, 2, 3, 4), (4, 53, 3, 5, 2, 5, 2, 6, 0)))

相关问题 更多 >