Lau*_*low 95
6个答案对于OP可以通过在口译员中进行测试而轻易回答的问题来说已经不够了:
>>> "42 0".split() # or .split(" ")
['42', '0']
Run Code Online (Sandbox Code Playgroud)
答:是的.
但是没有特别指出,如果你没有为它提供参数split,默认情况下该方法会拆分空格(空格,制表符,回车符 和 换行符).
>>> " \r 42\n\r \t\n \r0\n\r\n".split()
['42', '0']
Run Code Online (Sandbox Code Playgroud)
另外,在使用map时要iterables的项目转换为内置插件一样平常看起来比使用列表解析清洁剂int,float,str等在Python 2:
>>> map(int, "42 0".split())
[42, 0]
Run Code Online (Sandbox Code Playgroud)
在Python 3中,map将返回一个惰性对象,您可以将其放入一个列表中list(),或者在for循环中使用,例如:
>>> map(int, "42 0".split())
<map object at 0x7f92e07f8940>
>>> list(map(int, "42 0".split()))
[42, 0]
Run Code Online (Sandbox Code Playgroud)
kin*_*all 55
text = "42 0"
nums = [int(n) for n in text.split()]
Run Code Online (Sandbox Code Playgroud)
GWW*_*GWW 12
l = (int(x) for x in s.split())
Run Code Online (Sandbox Code Playgroud)
如果您确定总有两个整数,您也可以这样做:
a,b = (int(x) for x in s.split())
Run Code Online (Sandbox Code Playgroud)
或者如果您打算在之后修改数组
l = [int(x) for x in s.split()]
Run Code Online (Sandbox Code Playgroud)
当然你可以调用split,但它会返回字符串,而不是整数。做
>>> x, y = "42 0".split()
>>> [int(x), int(y)]
[42, 0]
Run Code Online (Sandbox Code Playgroud)
或者
[int(x) for x in "42 0".split()]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
114935 次 |
| 最近记录: |