Архива.ч
Добавить
Войти
Светлый стиль
Тёмный стиль
Дополнительно
Стиль сайта
Arhivach (по умолчанию)
Darkstrap (Neutron-like)
Стиль тредов
Arhivach (по умолчанию)
Neutron
FAQ
Контакты
Помощь сайту
Дополнения
Случайный тред
Старые архивы
Статус системы
API
Сохранен
16
https://2ch.su/b/res/194822164.html
программирование
/b/ - Бред
2ch
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (
подробности случившегося
). Мы призываем всех неравнодушных
помочь нам
с восстановлением утраченного контента!
Анон, помоги с алгоритмом У меня есть массив
Аноним
16/04/19 Втр 19:13:12
#1
№194822164
275px-Canislupus265b[2].jpg
Анон, помоги с алгоритмом
У меня есть массив вида
[10, [26, [32, [49]]]]
Т.е. тут набор вложенных массивов из двух элементов, где первый элемент - число, второй - следующий массив
Нужно из него получить массив типа
[10, 26, 32, 49]
Заранее спасибо
Аноним
16/04/19 Втр 19:16:19
#2
№194822319
Бамп
Аноним
16/04/19 Втр 19:19:52
#3
№194822503
знач смари долбоеб тебе нужно из каждого массива вытащить число, про индексы слышал в своей жизни? Ну вот дальше сам попробуй подумать, чепуха бля
Аноним
OP
16/04/19 Втр 19:23:56
#4
№194822688
>>194822503
Ну и че дальше? Чувствую что нужно рекурсию использовать, но как именно?
Аноним
16/04/19 Втр 19:25:48
#5
№194822777
>>194822688
Что что, бери и пиши блять, руками по кнопкам тук тук тук
пробуй, пытайся, чувствуй боль.
Аноним
16/04/19 Втр 19:26:05
#6
№194822791
>>194822688
Рекурсивное решение - говно, жрущее память. Делай итеративно
Аноним
16/04/19 Втр 19:29:48
#7
№194822961
<?php
$array = [10, [26, [32, [49]]]];
$newArray = [];
function convert($array, $newArray) {
foreach ($array as $value) {
if (is_numeric($value)) {
$newArray[] = $value;
} else {
$newArray = convert($value, $newArray);
}
}
return $newArray;
}
$newArray = convert($array, $newArray);
print_r($newArray);
Аноним
16/04/19 Втр 19:29:48
#8
№194822962
old_list = [10, [26, [32, [49]]]]
new_list = []
new_list.append(item)
def check(element):
for item in element:
if type(item) == list:
print("item = list", item)
check(item)
else:
print(item)
new_list.append(item)
check(old_list)
print("new_list =", new_list)
вот
Аноним
16/04/19 Втр 19:30:12
#9
№194822983
>>194822777
Уже чувствую
>>194822791
Хуй знает как тут сделать итеративно, мы же не знаем изначально какая там вложенность
Аноним
16/04/19 Втр 19:30:12
#10
№194822984
>>194822962
Это на питоне если что
Аноним
16/04/19 Втр 19:31:45
#11
№194823050
>>194822164 (OP)
Деф мердж(а):
Иф лен(а) == 1: ретерн а
Елз: Ретерн [а[0] ] + мердж(а[1])
Аноним
16/04/19 Втр 19:32:01
#12
№194823064
>>194822961
>>194822962
Спасибо
Аноним
16/04/19 Втр 19:32:07
#13
№194823069
Screenshot 2019-04-16 at 19.31.39.png
>>194822962
Только сейчас заметил ошибки. Исправленная версия
Аноним
16/04/19 Втр 19:32:34
#14
№194823081
>>194823064
>>194823069
вот
Аноним
16/04/19 Втр 19:35:05
#15
№194823189
Эх ребята, вы не должны были делать за него, вы только помогаете ему стать овощем. А еще двачеры, тьхуу
Аноним
16/04/19 Втр 19:41:09
#16
№194823523
Создавать тред по вопросу который гуглится в 5 секунд? Ты издеваешься?
https://www.google.com/search?ei=ZgW2XNH1GISWjgbkl424Aw&q=flatten+multidimensional+array&oq=flatten+multidimensional+array&gs_l=psy-ab.3..35i39i19j0i19l6j0i30i19l2j0i5i30i19.764.764..1071...0.0..0.78.78.1......0....1..gws-wiz.......0i71.OKVNpLoqxLs
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
У меня есть массив вида
[10, [26, [32, [49]]]]
Т.е. тут набор вложенных массивов из двух элементов, где первый элемент - число, второй - следующий массив
Нужно из него получить массив типа
[10, 26, 32, 49]
Заранее спасибо