赞
踩
之前发过一篇python单行输入多个变量的文章,使用split()
函数将输入分割。文章内对于split()
的描述不够准确,所以又出了一篇文章仔细讲讲split()
到底有什么用。
VSCode 1.85
,python 3.12.0
下运行。split
在英文里有使……分开的意思,所以我们可以大胆推测,split()
的作用就是把一个东西分成多个。
实际也确实如此。
split()
是将一个字符串按照另一个字符串分割成多个不同字符串。
就是把一个字符串看作分隔符,删掉分隔符后每个部分单独成为一个独立的量。
没听懂?举个例子就明白了。
例如,将1,2,3,4,5
按照逗号分割,则会变成1
,2
,3
,4
,5
这五个字符串。
将刚才的例子写成代码,就是:
s = "1,2,3,4,5" # 这里用双引号单引号都可以
a = s.split(',') # 同上
print(a)
运行之后,我们发现,输出为:
['1', '2', '3', '4', '5']
为什么是这样呢?
因为,split()
会将字符串分割后的结果放入一个列表,所以a
其实是一个由多个字符串构成的列表,而非一个字符串。
split()
的括号内放的同样是一个字符串,也就是分隔符(不写默认为空格)。
如果我们想要把分割后的列表赋给多个变量,可以这样写:
s = "1,2,3,4,5" # 这里用双引号单引号都可以
a,b,c,d,e = s.split(',') # 同上
print(a,b,c,d,e) # 逗号会当作空格输出
输出为:
1 2 3 4 5
是不是就变成多个变量了?
而用在input
上同理,将输入的一行字符串按分隔符分割成多个字符串,再赋给多个变量,就达成了我们单行输入多个变量的目的。
列表的类型转换可以用函数map()
,格式如下:
map(转换类型, 转换目标列表)
将刚才的例子里的列表a
转换为整型:
s = "1,2,3,4,5"
a = list(map(int, s.split(',')))
print(a)
输出为:
[1, 2, 3, 4, 5]
可以发现,输出由原来的字符串列表变成了整型列表。
需要注意的是,map()
函数的返回值是一个迭代器,所以我们还需要list()
函数将其转换成列表才可以得到想要的输出。以后如果有需要还会出一期关于map()
的教程。
本文到这里就结束了,如果文章有什么错误或不理解的地方可以在评论区或私信指出,886!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。