создать вложенный список с числами из строки (есть PHP код, нужен Python)

439 просмотра
0
0 Комментариев

$text = '[2]-[37], [8]-[41], [11]-[24], [2]-[15]';
 
$arr = array_map(trim, explode(',',$text));
$arr = array_map(function($i) {
$i = array_map(function ($j) { return trim($j, "[]"); },
explode('-', $i));
return $i;
}, $arr);
 
print_r($arr);

в результате должен быть вот такой массив:

[ [2, 37], [8, 41], [11, 24], [2, 15] ]


Добавить комментарий

2 Answers

Python Опубликовано 10.12.2018
0

Чтобы найти все натуральные числа в строке и сгруппировать их по парам в Питоне 3:

>>> import re
>>> text = '[2]-[37], [8]-[41], [11]-[24], [2]-[15]'
>>> list(zip(*[map(int, re.findall('\d+', text))]*2))
[(2, 37), (8, 41), (11, 24), (2, 15)]

Добавить комментарий
0

text = '[2]-[37], [8]-[41], [11]-[24], [2]-[15]'
 
def foo(text):
    return [
        [int(w.strip('[]')) for w in s.strip().split('-')] for s in text.split(',')
    ]
 
print(foo(text))

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up