如何从特殊点剪线

2024-06-10 05:10:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些车名,比如:

Mercedes-Benz C-Class C180 CGI,
BMW 3 Series 318i (New 5-yr COE),
Kia Cerato Forte 1.6M EX (COE till 03/2024) ...

我想把它变成这样:

Mercedes-Benz C-Class, 
BMW 3, 
Kia Cerato ...

我是说只有前两部分。我尝试了下面的代码,它的工作,但我想知道什么是更好的方式和我的问题:

In [21]: car = 'Mercedes-Benz C-Class C180 CGI'
In [22]: s = car.find(' ')
In [23]: car_1 = car[:s]
In [24]: car_2 = car[s+1:]
In [25]: s_2 = car_2.find(' ')
In [26]: car_3 = car_2[:s_2]
In [27]: car_name = car_2+' '+car_3
In [28]: car_name = car_1+' '+car_3
In [29]: car_name
Out[29]: 'Mercedes-Benz C-Class'

Tags: nameinfindcarmercedesclassseriescgi
3条回答

简单的列表理解就行了

car_list=[
'Mercedes-Benz C-Class C180 CGI',
'BMW 3 Series 318i (New 5-yr COE)',
'Kia Cerato Forte 1.6M EX (COE till 03/2024)']

[' '.join(car.split(" ",2)[:2]) for car in car_list]

输出:

['Mercedes-Benz C-Class', 'BMW 3', 'Kia Cerato']

要获取字符串的前两个部分(用空格分隔),请使用.split().join()

>>> s = "This sentence is a sample sentence."
>>> " ".join(s.split()[:2])
"This sentence"

您可以基于空间拆分值,然后将前两个按空间分隔的索引连接起来,以获得所需的输出

>>> car = "Kia Cerato Forte 1.6M EX (COE till 03/2024)"
>>> newName = car.split(' ')
>>> ' '.join(newName[:2])
'Kia Cerato'
>>> car = "Mercedes-Benz C-Class C180 CGI"
>>> newName = car.split(' ')
>>> ' '.join(newName[:2])
'Mercedes-Benz C-Class'
>>> 

希望这有帮助。你知道吗

相关问题 更多 >