Eu tenho a seguinte lista
list1= ['Dodd-Frank', 'insurance', 'regulation']
Usei o seguinte para remover o hífen
new1 =[j.replace('-', ' ') for j in list1]
O resultado que obtive
new1= ['Dodd Frank', 'insurance', 'regulation']
O resultado que o ideal é querer é
new1= ['Dodd', 'Frank', 'insurance', 'regulation']
Como posso fazer isso da maneira mais pitônica (eficiente)
python
python-3.x
string
list
venkatttaknev
fonte
fonte
Respostas:
Impressões:
fonte
list2:
fonte
Isso pode ser feito com uma única compreensão da lista, sem a necessidade de construir estruturas de dados intermediárias:
com saída
fonte
De Feio a Bonito
Bonito é melhor que feio.
Mas geralmente é gratificante passar de um código feio para um código bonito. Portanto, atacaremos esse problema primeiro usando loops e depois massagearemos a solução loop-y em uma linha em várias etapas.
Uma primeira tentativa
Uma segunda tentativa
Podemos fazer melhor dividindo
sublist
o cabeçalho dofor
loop interno , para evitar a atribuição logo antes do loop.E para o ato final ...
Agora que temos nosso loop na forma de iterar e depois acrescentar , podemos massagear convenientemente em uma única linha.
fonte