python-3.x - Python - 遍历列表 -Lambda
问题描述
下面我创建了一个函数,它遍历一个数字列表并从每个数字中选择最后 3 位数字并将它们作为新数字放在另一个列表中。我还将它们从最小到最大排序。但是,我看到一个“TypeError:' int' 对象不可迭代”消息。我的代码有什么问题?又怎么可能。我们用 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))
非常感谢!
解决方案
您的代码似乎已经运行良好。
如果您想使用 lambda,您可以编写类似这样的代码。(这与发布的答案相同,唯一不同的是您可以立即使用排序功能,而无需刻意将地图对象转换为列表对象。)
def main():
ids = [1600, 1500, 1800, 1900, 1700]
alist = ids
sorted_last_four = sorted(map(lambda element: str(element)[1:4], alist))
print(sorted_last_four)
if __name__ == '__main__':
main()
如果您不熟悉使用 lambda,或者您想了解如何一起使用 lambda 和排序函数,您可以阅读发布的这个答案。
祝你好运。
推荐阅读
- pine-script - Pine TradingView - multiple strategy.entry/exit
- javascript - res.render 传递的对象,它们叫什么?
- php - 无法从 EC2 PHP 连接到云 MongoDB
- java - 如何在 Android Studio 中为按钮创建自动动画
- matlab - 优化 FPGA 设计的建议
- r - 如何在r中分离箱线图?
- javascript - 如何为按钮编写代码以生成随机背景颜色渐变
- amazon-web-services - 错误:致命的 NoCredentialProviders:链中没有有效的提供者,原因是:EnvAccessKeyNotFound:
- amazon-web-services - cli 中的 SSM 参数将字符串评估为 api 请求
- python - 你能解释一下 if 语句中模运算符的使用吗