Вопрос из теста по Python: Which of the following code samples will flatten the "irregular" list below: (choose all that apply)
Код | L = [[1, 2, 3], [4, 5], 6] to [1, 2, 3, 4, 5, 6]
|
Note: There may be more than one right answer.
Какой из следующих примеров кода будет сглаживать «нерегулярный» список ниже:
Код | L = [[1, 2, 3], [4, 5], 6] в [1, 2, 3, 4, 5, 6]
|
Примечание: может быть более 1 правильного ответа
Пробовал и для python2 и для python3 - все 4 варианта с ошибками, наверное где-то в коде ошибся, когда набивал в редакторе. Варианты ответа: 1.Код | g = str(L).replace('[', '').replace(']', '' flattenedList = [int(x) for x in g.split(',') if x.strip()]
|
2.Код | def flatten(L): for el in L: if isinstance(el, collections.Iterable) and not isinstance(el, basestring): for sub in flatten(el): else: yield el
|
3.Код | def flatten_gen(L, ltypes=collections.Sequence): ltype = type(L) l = list(L) i = 0 while i < len(l): while isinstance(l[i], ltypes): if not l[i]: l.pop(i) i -= 1 break else: l[i:i + 1] = l[i] else: yield l[i] i += 1
|
4.Код | import re def Flatten(L): a = str(L) b,crap = re.subn(r'[\[,\]]', '', a) c = b.split() d = [int(x) for x in c]
return d
|
Плз хелп ми! А то устал бороться... |