Getting a List of Numbers from User Input in Python
In Python, a common challenge is obtaining a list of numbers as input from a user. While using input() in Python 3 or raw_input() in Python 2 appears simple, the code below demonstrates the limitations:
numbers = input() print(len(numbers))
If the input is [1,2,3], the result is 7, and for 1 2 3, it's 5. This suggests that the input is interpreted as a string, not a list of numbers.
Pythonic Solution for Creating a List of Numbers from Input
To create a list of numbers directly from input, Python offers a more Pythonic solution:
a = [int(x) for x in input().split()]
This code uses list comprehension to iterate over each element in the input, converts it to an integer, and adds it to the list a.
Example
Using this code, let's see how it works:
>>> a = [int(x) for x in input().split()] 3 4 5 >>> a [3, 4, 5] >>>
With this solution, you can effortlessly obtain a list of numbers from user input, avoiding the need for complex regex pattern matching.
The above is the detailed content of How Do I Efficiently Get a List of Numbers as User Input in Python?. For more information, please follow other related articles on the PHP Chinese website!