0

私は持っている

k= (('answer ', ' Answer the call for a channel(answer )'), ('att_xfer ', ' Attended Transfer(att_xfer )'), ('bind_digit_action ', ' Bind a key sequence or regex to an action.(bind_digit_action )'))

余分なスペースをすべて削除したい。どうやってやるの

4

3 に答える 3

6

「余分なスペース」を意味する場合、各文字列の最初と最後のスペース:

k = tuple(tuple(b.strip() for b in a) for a in k)

文字列内の他の「余分なスペース」 ( (answer )=>など(answer)) を削除する場合は、さらにルールを定義する必要があります。

于 2013-01-11T12:37:39.757 に答える
3

すべての空白を削除する場合:

tuple(tuple("".join(i.split()) for i in a) for a in k)

アウト:

(('answer', 'Answerthecallforachannel(answer)'),
 ('att_xfer', 'AttendedTransfer(att_xfer)'),
 ('bind_digit_action',
  'Bindakeysequenceorregextoanaction.(bind_digit_action)'))

または、結果としてタプルが必要ない場合:

from itertools import chain
["".join(i.split()) for i in chain.from_iterable(k)]

アウト:

['answer',
 'Answerthecallforachannel(answer)',
 'att_xfer',
 'AttendedTransfer(att_xfer)',
 'bind_digit_action',
 'Bindakeysequenceorregextoanaction.(bind_digit_action)']
于 2013-01-11T12:45:18.077 に答える
1

別の方法は次のとおりです。

tuple(map(lambda x:tuple(map(lambda y:y.strip(),x)),k))
于 2013-01-11T12:40:59.013 に答える