Форум сайта python.su
0
Добрый день.
Подскажите как можно перевести список такого формата -
[1,2,3,4,3,2,1]
a = [1,2,3,4,3,2,1] b = [] for i in a: b.append(str(i)) b = ''.join(b)
b = ''.join(b)
Отредактировано Qroner (Авг. 21, 2020 19:35:31)
Офлайн
73
потому что в списке у вас числа а числа ‘склеить’ невозможно
>>> a = [1,2,3,4,3,2,1] >>> b = ''.join(map(str,a)) >>> b '1234321' >>>
Офлайн
0
Ну map по сути то же самое делает что и я в цикле for
Офлайн
253
Qroner
Почему сразу
b = ''.join(b)
не работает?
"".join([str(1),str(2)]) "".join([hex(1),hex(2)])
"".concat(1,2,3) "123"
Отредактировано doza_and (Авг. 23, 2020 13:29:33)
Офлайн
857
QronerВ третьем питоне map возвращает итератор
Ну map по сути то же самое делает что и я в цикле for
>>> m = map(str, [1, 2, 3]) >>> m <map object at 0x7fbe40fdfe80> >>> dir(m) ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__'] >>> >>> next(m) '1' >>> next(m) '2' >>> next(m) '3' >>> next(m) Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration >>>
Отредактировано py.user.next (Авг. 24, 2020 00:19:19)
Офлайн