9

たとえば、文字列を分割"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は何ですか?

4

3 に答える 3

18

Python で使用map()すると、次のようなものになります。

In [1]: map(lambda x: x.split(":"), "12:30-14:40".split("-"))
Out[1]: [['12', '30'], ['14', '40']]
于 2012-11-07T14:28:42.230 に答える
13

リスト内包表記を使用できます。

>>> [i.split(':') for i in "12:30-14:40".split('-')]
[['12', '30'], ['14', '40']]
于 2012-11-07T14:27:50.187 に答える
2

例による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

パイソン

a = [1,2,3]
[x**2 for x in a] # [1,4,9]
map(lambda x: x**2, a) # [1,4,9]

代わりに、Ruby と同じように python でリストを返したい場合は、次のようにします。list(map(lambda x: x**2, a))

于 2018-10-10T20:08:41.693 に答える