如何解决此问题?
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)))
答案 0 :(得分:2)
list.sort()将对列表进行原位排序,但是返回值为None。
sorted(list)将返回一个已排序的新列表对象。
因此正确的代码应为:
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)))
答案 1 :(得分:0)
sort()
对列表进行排序并返回None
。您需要调用sort()
,然后在两个不同的语句中返回相同的列表:
lst1.sort()
return tuple(lst1)