Python: Как именно вы можете взять строку, разделить ее, перевернуть и снова соединить? - PullRequest
29 голосов
/ 02 сентября 2010

Как именно вы можете взять строку, разделить ее, перевернуть и снова соединить вместе без скобок, запятых и т. Д. С помощью python?

Ответы [ 3 ]

52 голосов
/ 02 сентября 2010
>>> tmp = "a,b,cde"
>>> tmp2 = tmp.split(',')
>>> tmp2.reverse()
>>> "".join(tmp2)
'cdeba'

или проще:

>>> tmp = "a,b,cde"
>>> ''.join(tmp.split(',')[::-1])
'cdeba'

Важными частями здесь являются функция разделения и функция соединения .Чтобы перевернуть список, вы можете использовать reverse(), который переворачивает список на месте, или синтаксис срезов [::-1], который возвращает новый перевернутый список.

2 голосов
/ 02 сентября 2010

Вы имеете в виду, как это?

import string
astr='a(b[c])d'

deleter=string.maketrans('()[]','    ')
print(astr.translate(deleter))
# a b c  d
print(astr.translate(deleter).split())
# ['a', 'b', 'c', 'd']
print(list(reversed(astr.translate(deleter).split())))
# ['d', 'c', 'b', 'a']
print(' '.join(reversed(astr.translate(deleter).split())))
# d c b a
0 голосов
/ 02 сентября 2010

Вы имеете в виду это?

from string import punctuation, digits

takeout = punctuation + digits

turnthis = "(fjskl) 234 = -345 089 abcdef"
turnthis = turnthis.translate(None, takeout)[::-1]
print turnthis
...