【发布时间】:2020-10-20 09:50:36
【问题描述】:
我想将列表中的每个元素乘以给定的数字。
例如,当我在命令提示符下键入以下内容时:
C:\Users\bella\projects\testing1> test.py 5,10,15,20,25,30 2
结果应该是:[10,20,30,40,50,60]
(注:每个元素乘以2)
或
C:\Users\bella\projects\testing1> test.py 5,10,15,20,25,30 0.5
结果应该是:[2.5,5,7.5,10,12.5,15]
(注:每个元素乘以0.5)
这是我的代码...
import sys
user_input = sys.argv[1]
u_split = user_input.split(",")
option = sys.argv[2]
n = map(lambda x:x*(option), user_input)
print(n)
这是我在命令提示符下得到的:
C:\Users\bella\projects\testing1> test.py 10,20,30,40,50,60 2
<map object at 0x03588160>
【问题讨论】:
-
list(map(lambda x:x*(option), user_input)) -
map在 Python2 中返回一个列表,但在 Python3 中返回一个迭代器。您需要将其投射到列表中
标签: python python-3.x python-3.6 python-3.7