我的搜索技能需要改进,因为我无法找到(或理解)任何可能对我有帮助的东西,从这个数组中拉出来......
qtyList = ['[40', '68]', '[18', '10]']
我正试图将整数拉出来和/或将其放在不同的数组中,因此看起来像...
qtyList = [40, 68, 18, 10]
我认为str_split可能有效,但我很确定我搞砸了语法。我试过......
array str_split($qtyList, "[")
这不起作用。
答案 0 :(得分:1)
In [1]: qtyList = ['[40', '68]', '[18', '10]']
一种方式:
In [2]: [int(s.replace('[', '').replace(']', '')) for s in qtyList]
Out[2]: [40, 68, 18, 10]
另一种方式:
In [3]: import re
In [4]: [int(re.sub('[\[\]]', '', s)) for s in qtyList]
Out[4]: [40, 68, 18, 10]
这是一种奇怪的方式,如果列表总是在您显示时交替显示:
In [5]: from itertools import cycle
In [6]: slices = cycle((slice(1, None), slice(None, -1)))
In [7]: [int(s[c]) for s, c in zip(qtyList, slices)]
Out[7]: [40, 68, 18, 10]
答案 1 :(得分:1)
使用list-comp和regexp是一种方式:
>>> qtyList = ['[40', '68]', '[18', '10]']
>>> import re
>>> [int(re.search('\d+', el).group()) for el in qtyList]
[40, 68, 18, 10]
答案 2 :(得分:0)
这是一种浏览列表中每个列表项的方法。
for item in qtyList:
for x in item:
newList.append(x)