Python 3.x 如何切换姓氏和名字的顺序并移除昏迷

Python 3.x 如何切换姓氏和名字的顺序并移除昏迷,python-3.x,Python 3.x,可能是个简单的问题,但我对Python非常陌生 如果我有一个给定的“姓、名”,我如何将顺序切换到“名、名” 例如,如果我有: “Doe,John” 我该怎么做 “约翰·多伊” 我尝试使用.split(),但这会将其转换为列表,我希望它是一个字符串 编辑:建议的问题给出了一个列表,但我的示例只是一个字符串 这是我想出的代码: def change_name(name: str) -> str: x = name.split(',') x.reverse() x.joi

可能是个简单的问题,但我对Python非常陌生

如果我有一个给定的“姓、名”,我如何将顺序切换到“名、名”

例如,如果我有:

“Doe,John”

我该怎么做

“约翰·多伊”

我尝试使用
.split()
,但这会将其转换为列表,我希望它是一个字符串

编辑:建议的问题给出了一个列表,但我的示例只是一个字符串

这是我想出的代码:

def change_name(name: str) -> str:
    x = name.split(',')
    x.reverse()
    x.join()
但这只是给了我一个错误,列表没有属性join

另外,我做了
str(x).join(“”)
,但那只是给了我一个列表
['John','Doe']

编辑:我似乎已经接近我想要的,但它仍然不是完美的。 现在我有:

def change_name(name: str) -> str:
    x = name.split(',')
    x.reverse()
    separator = ','
    return separator.join(x)
这让我

“约翰,多伊”


现在的问题是我需要去掉字符串前面的空格和逗号。

您的错误是使用逗号连接名字和姓氏,而您本应使用空格。请尝试以下操作:

>>> name = "Doe, John"
>>> x = name.split(', ')
>>> x.reverse()
>>> separator = ' '
>>> separator.join(x)
'John Doe'
这些操作也可以链接到一行中,例如

>>> ' '.join(reversed(name.split(', ')))
'John Doe'

你的思路是正确的。首先
将它拆分成一个列表,
反转它,然后
加入它,使它再次成为一个字符串。这回答了你的问题吗?@Selcuk它告诉我列表没有属性join?这告诉你什么?发布你修改过的代码,或者阅读
str.join()的文档
@Selcuk我编辑并添加了我所做的事情。如有任何帮助,将不胜感激