例如说我想分割字符串"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等价物是什么?
在 Python 中并使用map()
你会得到类似的东西:
In [1]: map(lambda x: x.split(":"), "12:30-14:40".split("-"))
Out[1]: [['12', '30'], ['14', '40']]
您可以使用列表推导:
>>> [i.split(':') for i in "12:30-14:40".split('-')]
[['12', '30'], ['14', '40']]
以Ruby和 Python 为例
红宝石
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))