我正在尝试将[' 1',' 2',' 3',' 4']转换为[1,2 ,3,4] 我想在这里进行这种转换。有可能吗?如果没有,那么最佳解决方案是什么。
答案 0 :(得分:2)
我认为最好使用map
来完成这类任务。这创建了迭代器,这意味着它的内存效率更高。
l = list(map(int, l))
# here I convert it to list, but usually you would just iterate over it
# so you can just do
for item in map(int, l):
...
答案 1 :(得分:1)
你可以用这样的列表理解来做到这一点:
l = [int(item) for item in l]
答案 2 :(得分:0)
这应该是非常适合的吗?
In [31]: l = ['1','2','3','4']
In [32]: for i in range(len(l)):
....: l[i] = int(l[i])
....:
In [33]: l
Out[33]: [1, 2, 3, 4]
或者,您可以使用enumerate
来执行此操作,该list
采用可迭代(如index
)并返回In [84]: l = ['1','2','3','4']
In [85]: for idx, val in enumerate(l):
....: l[idx] = int(val)
....:
In [86]: l
Out[86]: [1, 2, 3, 4]
以及从开头到结尾的相应值:
app.factory('SomeFactory', ['$http', 'djangoUrl',
function ($http, djangoUrl) {
return {
getSomeDataAndUpdateSessionVar: function () {
return $http({
method: 'POST',
url: djangoUrl.reverse('some_app:list'),
data: {
param1: "param1"
}
})
},
}
}
]);
答案 3 :(得分:0)
只要整个数组适合内存,您就应该可以逐步完成它,随时替换每个项目:
# bigarray is ['1','2','3','4',...];
# loop through bigarray using index i
for i in range(len(bigarray)):
# coerce bigarray[i] to int in place
bigarray[i] = int(bigarray[i])
# bigarray is [1,2,3,4,...];
祝你好运!