概述
当我第一次接触python 中的split方法的时候,我使用print函数输出了一个字符串被split之后的结果:
str_ = input() str_.split(',', 3) # 默认已知只有两个逗号把字符串分成三段 print(['abcd', 'ab', 'cd'])
>>> zai,yu,you # 用户输入字符串
>>> ['zai', 'yu', 'you']
哦,我见过这种输出结构,它很像列表中包含了三个“元素”:‘zai'、’yu‘、’you‘;
但是,如果你尝试按照列表的理解去输出这些元素:
print(str_[0], str_[1], str_[2])
你可能会认为你会得到:
>>> zai yu you
但是实际上,不出意外的话,你将会得到:
>>> z a i
原因是什么?
这是我们的理解错误导致了上述输出没有按照我们设想的结果输出,我们错把print函数输出的列表当成了str_对象本身;而实际上,如果你试过
print(str_)
>>> zai,yu,you
str_字符串没有变成列表,也没有产生变化
显然,学过python的都知道,字符串类型的对象是不可修改的,所以字符串str_根本没有因为我们使用了split方法而发生任何变化。
那么,print出来的”列表“是谁呢?
如果我们稍微了解过split方法的话,不难知道split方法会产生一个返回值,而这个返回值的类型是一个参数列表,这就是为什么
>>> print(str_.split(',', 3))
>>> ['zai', 'yu', 'you']
ok,那么这个列表并不是str,而是split方法的返回值,换言之,“str_.split(',', 3)”这个玩意就是个参数列表,所以,让我们试试把”str_.split(',', 3)“当成列表对象来输出它的元素:
>>> print(str_.split(',', 3)[0], str_.split(',', 3)[1], str_.split(',', 3)[2])
>>> zai yu you
Yes!得到了我们想要的结果
当然,我们也可以使用其他方法来提取出我们想要的列表元素:
>>> u1, u2, u3 = str_.split(',', 3)
>>> print(u1, u2, u3)
>>> zai yu you
也可以得到我们想要的结果
当然,直接把“str_.split(',', 3)”拿来当作一个新对象使用或许并不直观,我们一般会定义一个新的列表对象来储存它的元素:
str_list1_ = [] str_list1_ += str_.split(',', 3)
>>> print(str_list1_)
>>> ['zai', 'yu', 'you']
——End
最后
以上就是彩色花卷为你收集整理的Python 3 提取字符串使用 split 方法返回的参数列表中的元素的全部内容,希望文章能够帮你解决Python 3 提取字符串使用 split 方法返回的参数列表中的元素所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复