I have a string "42 0"
(for example) and need to get an array of the two integers. Can I do a .split
on a space?
Use input(), map() and split() function to take space-separated integer input in Python 3.
Python split() method is used to split the string into chunks, and it accepts one argument called separator. A separator can be any character or a symbol. If no separators are defined, then it will split the given string and whitespace will be used by default.
Use str.split()
:
>>> "42 0".split() # or .split(" ") ['42', '0']
Note that str.split(" ")
is identical in this case, but would behave differently if there were more than one space in a row. As well, .split()
splits on all whitespace, not just spaces.
Using map
usually looks cleaner than using list comprehensions when you want to convert the items of iterables to built-ins like int
, float
, str
, etc. In Python 2:
>>> map(int, "42 0".split()) [42, 0]
In Python 3, map
will return a lazy object. You can get it into a list with list()
:
>>> map(int, "42 0".split()) <map object at 0x7f92e07f8940> >>> list(map(int, "42 0".split())) [42, 0]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With