【发布时间】:2020-06-11 09:36:01
【问题描述】:
下面我创建了一个函数,它遍历数字列表并从每个数字中选择最后 3 位数字并将它们作为新数字放入另一个列表中。我还将它们从最小到最大排序。但是,我看到一个“ TypeError: 'int' object is not iterable" 消息。我的代码有什么问题?又怎么可能。我们用 lambda 函数做同样的事情吗?
ids = [1600,1500,1800,1900,1700]
alist=ids
sorted_ids=[]
def last_four(alist):
for element in alist:
values=str(element)
sorted_ids.append(values[1:4])
return sorted(sorted_ids)
print(last_four(alist))
非常感谢!
【问题讨论】:
-
要选择最后 3 位数字,您可以使用
str(value)[:-3]而不是str(value)[1:4]。这样,无论数字的长度如何,它总是采用最后 3 位数字
标签: python-3.x list function loops lambda