我试图将包含整数的两个列表作为参数传递给Python代码。但是sys.argv[i]
将参数作为字符串列表获取。
输入看起来像:
$ python filename.py [2,3,4,5] [1,2,3,4]
我找到了以下的技巧来将列表转换。
strA = sys.argv[1].replace('[', ' ').replace(']', ' ').replace(',', ' ').split()
strB = sys.argv[2].replace('[', ' ').replace(']', ' ').replace(',', ' ').split()
A = [float(i) for i in strA]
B = [float (i) for i in strB]
有没有更好的方法来做这件事?
lists = [[int(el) for el in arg[1:-1].split(',')] for arg in sys.argv[1:]]
呢?在这种情况下,您可以看到括号是相当无用的。 - Radio Controlled