2011-03-27 14 views
17

Hola soy bastante nuevo en la programación y estoy tratando de dividir una cadena:cadena a la lista en Python

'QH QD JC KD JS' 

en una lista como:

['QH', 'QD', 'JC', 'KD', 'JS'] 

He tratado de división, pero no pareció funcionar. ¿Cómo voy a hacer esto?

Gracias

+2

¿Cómo se intenta dividir la cadena? –

+0

Te recomiendo que busques en Google un libro en línea gratuito llamado "Dive Into Python" – invert

Respuesta

39
>>> 'QH QD JC KD JS'.split() 
['QH', 'QD', 'JC', 'KD', 'JS'] 

split:

devolver una lista de las palabras de la cadena , utilizando sep como el cadena delimitadora. Si se da maxsplit, como máximo maxsplit se realizan divisiones (por lo tanto, la lista tendrá como máximo maxsplit+1 elementos). Si no se especifica maxsplit, entonces no hay límite en el número de divisiones (todos los posibles divisiones se hacen).

Si se da sep, consecutivos delimitadores no están agrupados juntos y se consideran para delimitar vacíos cadenas (por ejemplo, '1,,2'.split(',') devuelve ['1', '', '2']). El argumento sep puede consistir en múltiples caracteres (por ejemplo, '1<>2<>3'.split('<>') devuelve ['1', '2', '3']). La división de una cadena vacía con un separador especificado devuelve [''].

Si sep no se especifica o es None, un algoritmo de división diferente es aplicados: carreras de los espacios consecutivos se consideran como una sola separador, y el resultado contendrá no hay cadenas vacías al comienzo o al final si la cadena tiene espacios en blanco iniciales o posteriores . En consecuencia, la división de un cadena vacía o una cadena que consiste en solo espacio en blanco con un separador None devuelve [].

Por ejemplo, ' 1 2 3 '.split() rendimientos ['1', '2', '3'], y ' 1 2 3 '.split(None, 1) rendimientos ['1', '2 3 '].

3

Aquí los simples

a = [x for x in 'abcdefgh'] #['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] 
Cuestiones relacionadas