交换首尾姓名并去除逗号
使用Python 3.3:
我需要一些帮助,来写一个函数的内容,这个函数可以交换姓和名的位置。
简单来说,我需要写一段代码,把字符串中的名字部分换到姓的地方。
最开始的顺序是名字在前,姓在后(用逗号分隔)。举个例子:'Albus Percival Wulfric Brian, Dumbledore'
我想要的结果是:'Dumbledore Albus Percival Wulfric Brian'
我尝试的方法是: name = 'Albus Percival Wulfric Brian, Dumbledore' name = name[name.find(',')+2:]+", "+name[:name.find(',')]
但是我得到的结果是:'Dumbledore, Albus Percival Wulfric Brian'(这不是我想要的)
中间不应该有逗号。
我刚开始学Python,所以请不要用太复杂的方法来解决这个问题。
非常感谢任何帮助!
2 个回答
0
你自己加了个逗号:
name = name[name.find(',')+2:] + ", " + name[:name.find(',')]
改成这样:
name = name[name.find(',')+2:] + name[:name.find(',')]
5
- 你可以用逗号把一个字符串分开,变成一个字符串列表,方法是用
astring.split(',')
这样的写法。 - 你可以把一个字符串列表合并成一个字符串,用空格分开,方法是
' '.join(alist)
。 - 你可以用列表切片的方法来反转一个列表,写法是
alist[::-1]
。 - 你可以用
astring.strip()
来去掉字符串两边的空白。
因此:
' '.join(aname.split(',')[::-1]).strip()