比如说我想要分割字符串"12:30-14:40"
,并将结果放在像[["12","30"],["14","40"]]
这样的矩阵中。
我可以在JavaScript中执行以下操作:
"12:30-14:40".split("-").map(function(x) {
return x.split(':');
});
并在Ruby中:
"12:30-14:40".split("-").map{|x| x.split(":")}
上面的python等价物是什么?
答案 0 :(得分:17)
在Python中使用map()
,你会得到类似的东西:
In [1]: map(lambda x: x.split(":"), "12:30-14:40".split("-"))
Out[1]: [['12', '30'], ['14', '40']]
答案 1 :(得分:11)
您可以使用列表理解:
>>> [i.split(':') for i in "12:30-14:40".split('-')]
[['12', '30'], ['14', '40']]
答案 2 :(得分:1)
Ruby
a = [1,2,3] a.map { |x| x**2 } # [1,4,9] # map returns a new array # use map! to mutate the original a.collect { |x| x**2 } # [1,4,9] # collect is an alias of map
Python
a = [1,2,3] [x**2 for x in a] # [1,4,9] map(lambda x: x**2, a) # [1,4,9]
如果您希望python返回列表,就像ruby一样,请改为:list(map(lambda x: x**2, a))