web-dev-qa-db-fra.com

Comment faire une liste à partir d'un raw_input en python?

Je prends donc raw_input comme entrée pour une liste.

x= raw_input()

Où j'entre 1 2 3 4 Comment vais-je le convertir en une liste d'entiers si je saisis uniquement des nombres?

12
user3481478

Comme ça:

string_input = raw_input()
input_list = string_input.split() #splits the input string on spaces
# process string elements in the list and make them integers
input_list = [int(a) for a in input_list] 
22
shaktimaan

list = map(int,raw_input().split())

Nous utilisons une fonction d'ordre supérieur map pour obtenir une liste de integers.

10
Perseus14

Vous pouvez effectuer les opérations suivantes en utilisant eval :

lst = raw_input('Enter your list: ')
lst = eval(lst)
print lst

Cela fonctionne comme:

>>> lst = raw_input('Enter your list: ')
Enter your list: [1, 5, 2, 4]
>>> lst = eval(lst)
>>> print lst
[1, 5, 2, 4]
>>> 
3
A.J. Uppal

Voici quelques exemples et brèves explications pour la saisie de listes d'utilisateurs:

Vous pouvez souvent avoir besoin d'un code qui lit les données de la console dans une liste. Vous pouvez saisir un élément de données par ligne et l'ajouter à une liste en boucle. Par exemple, le code suivant lit dix numéros un par ligne dans une liste.

lst1 = [] # Create an empty list
print("Enter 10 Numbers: ")
for i in range(10):
   lst1.append(eval(input()))

print(lst1)

Parfois, il est plus pratique de saisir les données sur une seule ligne séparée par des espaces. Vous pouvez utiliser la méthode de fractionnement de la chaîne pour extraire des données d'une ligne d'entrée. Par exemple, le code suivant lit dix nombres séparés par des espaces d'une ligne dans une liste.

# Read numbers as a string from the console
s = input("Enter 10 numbers separated by spaces from one line: ")
items = s.split() # Extract items from the string
lst2 = [eval(x) for x in items] # Convert items to numbers

print(lst2)

L'appel de input() lit une chaîne. L'utilisation de s.split() extrait les éléments délimités par des espaces de la chaîne s et renvoie les éléments dans une liste. La dernière ligne crée une liste de nombres en convertissant les éléments en nombres.

1
Jocelyn