欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python入门100个实例(29)——split方法的用法

程序员文章站 2022-07-13 23:09:27
...

从本实例学到什么

  1. 字符串对象的split方法的用法

实例程序代码

#例4-1-2  用input函数和split方法输入数据
#输入一行字符串
line = input("输入多个整数,用空格隔开:")  #line是一个字符串
print("line=", line)
#以空格为分隔符,分割字符串得到数字字符串列表
num_strs = line.split()   #num_strs是数字字符串列表
print("num_strs=", num_strs)

#数字字符串列表转换为数字列表
nums = []
for s in num_strs:
    nums.append(int(s))
print("nums=", nums)

#输入多个实数,用逗号隔开
line = input("输入多个实数,用逗号隔开:")
#以逗号为分隔符,分割字符串得到数字字符串列表
fnum_strs = line.split(',')
fnums = []
for w in fnum_strs:
    fnums.append(float(w))
print("fnums=", fnums)

#输入3个名字存入a, b, c
line = input("输入3个名字:")
#3个元素的列表赋值给3个变量。
#注意左边变量个数和列表元素的个数必须相等,否则报错。
a, b, c = line.split()
print(a, b, c)

运行例4-1-2, 输出以下内容:

输入多个整数,用空格隔开:3 44 8 99
line= 3 44 8 99
num_strs= [‘3’, ‘44’, ‘8’, ‘99’]
nums= [3, 44, 8, 99]
输入多个实数,用逗号隔开:2.5, 7.8, 1.1
fnums= [2.5, 7.8, 1.1]
输入3个名字:Li Guo Huang
Li Guo Huang

上述输出内容中,加粗并斜体的文字是从键盘输入的内容,其余是程序输出的内容。
例4-1-2中,第2到13行示例了在一行中输入多个整数的做法。整数之间用空格分隔。第15到22行示例了在一行中输入多个浮点数的做法。浮点数之间用分号间隔。第24到29行示例了在一行中输入多个字符串的做法。

split方法的用法

调用字符串对象的split方法的写法举例之一:
  字符串对象.split()
例4-1-2第6行采用的是上述写法。假设用户输入:3 44 8 99, 第3行代码执行后,line变量的值是:’3 44 8 99’,这是一个字符串。第6行代码的作用是,先执行split方法,把line字符串分割成4个子串,返回这4个子串组成的列表,即[‘3’, ‘44’, ‘8’, ‘99’],接着把这份列表赋值给num_strs变量。因此,第7行输出的是:num_strs= [‘3’, ‘44’, ‘8’, ‘99’] 。
为什么上述split方法把line字符串分割成4个子串,而不是5个或者3个呢?这是因为,不带参数地调用split函数,split函数将以空格作为间隔符来分割字符串。对于’3 44 8 99’,数字3, 44, 8后面有空格,因此分割成[‘3’, ‘44’, ‘8’, ‘99’] 。

调用字符串对象的split方法的写法举例之二:
  字符串对象.split(‘,’)
例4-1-2第18行采用的是这种写法。假设用户输入的是: 2.5, 7.8, 1.1,第16行执行后,line变量的值是’2.5, 7.8, 1.1’,这是一个字符串。第18行的作用是,先执行split方法,把line字符串分割成3个子串(以逗号作为分隔符),返回这3个子串组成的列表,即[‘2.5’, ‘7.8’, ‘1.1’] ;接着把这份列表赋值给fnum_strs。
为什么这一次调用split方法,把line分割成3个子串呢?这是因为,以’,’为参数调用split函数,split函数将以逗号为分隔符来分割字符串。对于’2.5, 7.8, 1.1’,两个逗号作为分隔符,所以分割成了3段,即[‘2.5’, ‘7.8’, ‘1.1’] 。

小结

  1. 举例说明了split方法的两种用法。
  2. 字符串对象.split(),是以空格为分隔符,把长串分割成多个子串,返回子串组成的列表。
  3. 字符串对象.split(‘,’),是以逗号为分隔符,把长串分割成多个子串,返回子串组成的列表。
  4. 字符串对象.split(‘-‘),是以中划线为分隔符。你可以做类似的推广。