如何有效地使用索引方法

时间:2014-09-21 23:22:52

标签: python indexing slice

我最近开始学习Python,我收到了一个问题:"写一个Python程序,要求用户输入以下格式的全名:

LastName,FirstName MiddleName

(例如:" Hun,Attila The)。

输入在逗号后面只有一个空格,第一个名称和中间名之间只有一个空格。在Python中使用字符串方法和运算符将其转换为具有以下形式的新字符串:

FirstName MiddleInitial Period LastName(例如:" Attila T. Hun")并输出它。"

如果我制作三个不同的变量,然后重新排序/切片,我很容易这样做。但是我如何只在一个变量中执行此操作。我知道我需要切片直到","对于LastName,但我不能做" [0:,]"因为我没有使用整数值,所以我如何找到它的整数值,如果lastName因用户而异。

2 个答案:

答案 0 :(得分:0)

不使用index,而是使用split并拆分各种分隔符。例如,full_name.split(', ')[0] == 'Hun'full_name.split(', ')[1] == 'Attila'full_name.split(' ')[-1] == 'The'。然后,您可以使用字符串格式或简单连接轻松地重新组合它们。

答案 1 :(得分:0)

首先,如果您python 2.x使用raw_input() python 3.x input()使用space,那么您可以使用,拆分,然后移动fullname=raw_input("enter your full name by this format (LastName, FirstName MiddleName)") >>> separate_names=[name[:-1] if ',' in name else name for name in fullname.split(' ') ] >>> separate_names #if fullname=="Hun, Attila The” ['Hun', 'Attila', 'The'] 在姓氏的末尾!

例如:

>>> dict(zip(['LastName','FirstName', 'MiddleName'] ,separate_names))
{'MiddleName': 'The', 'LastName': 'Hun', 'FirstName': 'Attila'}

你也可以把它添加到字典中:

{{1}}