Estoy leyendo en una serie de enteros como "3 ,2 ,6 "
y los quiero en la lista [3,2,6]
como números enteros. Esto es fácil de hackear, pero ¿cuál es la forma "pitónica" de hacerlo?método "pythonic" para analizar una cadena de enteros separados por comas en una lista de enteros?
método "pythonic" para analizar una cadena de enteros separados por comas en una lista de enteros?
Respuesta
mylist = [int(x) for x in '3 ,2 ,6 '.split(',')]
Y si no estás seguro de que sólo tendrá dígitos (o desea descartar los otros):
mylist = [int(x) for x in '3 ,2 ,6 '.split(',') if x.strip().isdigit()]
Mientras que una solución personalizada que le enseñará sobre Python, por el código de producción utilizando el módulo csv
es la mejor idea. Los datos separados por comas pueden volverse más complejos de lo que parece inicialmente.
Me pregunto cómo los enteros separados por coma se vuelven complejos? –
@Anurag: ¿Quién dijo que tenían que ser enteros? El OP solo proporcionó datos de muestra ... – katrielalex
@Anurag: "enséñale a pescar ..." - ¿Alguna vez escuchó esa fábula? Es lo que estoy tratando de hacer aquí. Simplemente analizar una secuencia de comas rara vez es * la * tarea que uno intenta resolver, detrás de esto hay requisitos más complejos. Si estoy equivocado, no hay daño, otras respuestas proporcionan el enfoque más simple –
map(int, myString.split(','))
+1 por ser estilo funcional –
@Matt: en realidad, aunque personalmente Me encanta el estilo funcional, las comprensiones de la lista son más Pythonic –
@Eli, estoy de acuerdo 100% –
- 1. Manera pitónica de convertir una lista de enteros en una cadena de rangos separados por comas
- 2. ¿Cómo convertir una cadena de números separados por comas a una matriz de números enteros?
- 3. Regex: enteros delimitados por comas
- 4. ¿Cómo convertir una cadena de números clojure en enteros separados?
- 5. LINQ: ¿Cómo concateno una lista de enteros en una cadena delimitada por comas?
- 6. manera Pythonic para dividir números separados por comas en parejas
- 7. Insertar comas en enteros
- 8. Convertir matriz de enteros a cadena separada por comas
- 9. analizar cadena de conjuntos enteros con intervalos para mostrar
- 10. Lista de selectores separados por comas?
- 11. mySql: crear una unión utilizando una lista de valores separados por comas
- 12. Conversión de valores separados por comas de comillas dobles separados por comas cadena
- 13. Unirme a una lista que tiene valores enteros con Python
- 14. cadena de enteros rompecabezas
- 15. Convertir una cadena de números separados en espacios en blanco en una cadena en enteros y colocarlos en las variables
- 16. ¿Cómo puedo analizar una cadena delimitada por comas en una lista (advertencia)?
- 17. Ejecutando una selección en una lista de valores separados por comas en PHP
- 18. Ruby: incrementa todos los enteros en una cadena por +1
- 19. ¿Cómo harías una cadena separada por comas de una lista?
- 20. Colocar comas en números enteros Javascript
- 21. Comas de separación de enteros o decimales en raíles
- 22. Formatear una estructura de datos en una lista de argumentos separados por comas
- 23. Lista de enteros en cadena (matriz de bytes) - python
- 24. Valores separados por comas en una columna - SQL SERVER
- 25. Cómo hacer una lista de vectores enteros en R
- 26. Determinación del primer valor disponible en una lista de enteros
- 27. ¿Cómo convertir números de cadenas a enteros en una lista?
- 28. cadenas enteros al analizar en Java
- 29. Insertar y eliminar comas de enteros en C++
- 30. Convierte una lista <int> en una cadena de enteros unidos?
yo creo que hay un poco hacia atrás: ' '3,2,6'.split (', ')' –
@orangeoctopus Funciona bien de todos modos, 'int' descarta que rodea los espacios en blanco – delnan
@orangeoctupus - Sí , Lo edité cuando me di cuenta de eso. Pero aparentemente soy rápido como un zorro, así que no muestra que lo haya editado (al menos para mí ...);) –