Найти - Пользователи
Полная версия: map, lambda, join - упростить!
Начало » Python для новичков » map, lambda, join - упростить!
1
nokados
Вследствие некоторых ухищрений для вывода матрицы у меня получилась вот такая строка кода:
print('\n'.join(map(','.join,map(lambda x: map(str,x),res))))
Можно ли это как-нибудь упростить, а то как-то нечитабельно?
FishHook
Может как то так
import sys
res = [
	[1, 2, 3],
	[4, 5, 6]
]
map (sys.stdout.write,  [", ".join(map(str, x)) + "\n" for x in res])
А вообще однострочники хороши только для писькомерства, пишите цикл и не парьтесь.
JOHN_16
nokados
очень хороший тон, когда вместе с таким вопросом предоставляют исходные данные и выходные…мы ж не знаем чего вы хотите достичь
sergeek
один map лишний
print('\n'.join(
    map(lambda x: ', '.join(map(str,x)),
        res)))
Isem
С обратной стороны проще.
print( str(res)[2:-2].replace('], [', '\n') )

Если речь идет именно о выводе, то можно еще так:
for l in res: print(*l, sep=', ')
fttk
Здравствуйте, это конкурс на лучший однострочник?
res = [[1,2,3],[4,5,6]]
c = lambda a: lambda b: a.join(map(str, b))
print c('\n')(map(c(', '), res))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB