python - 给定一个字符串列表,每个字符串都由用逗号分隔的子字符串组成,如何对子字符串重新排序?

标签 python string python-3.x

我在 Excel 文件中有一个姓名列表,我已将其复制到文本文件中。姓名的格式为“姓氏,名字”,其中名字是名字(如果适用,还有中间名)。在少数情况下,有两个中间名。如何删除逗号并更改名称顺序,以便名字(和中间名)位于姓氏之前?

原文:

lastname1, firstname1
lastname2, firstname2 middlename2
lastname3, firstname3

我想要什么:

firstname1 lastname1
firstname2 middlename2 lastname2
firstname3 lastname3

PS -我在本地大学教授实验室,这是一本包含数百个名字的成绩册。

最佳答案

您可以使用 split, 来分隔逗号上的名称:

for name in names:
    last, first = name.split(',', 1)
    print(first, last)

示例数据:

names = [x.strip() for x in """
    lastname1, firstname1
    lastname2, firstname2 middlename2
    lastname3, firstname3
""".split('\n')[1:-1]]

打印:

firstname1 lastname1
firstname2 middlename2 lastname2
firstname3 lastname3

如果您需要从文件中读取名称:

with open("file_location/file_name.txt") as f:
    names = f.readlines() 

关于python - 给定一个字符串列表,每个字符串都由用逗号分隔的子字符串组成,如何对子字符串重新排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41950457/

相关文章:

python - 帮助 Python while 循环行为

python - 如何使用两组正则表达式 url?

java - 分割字符串 Java 空间

python - 在 Python 中共享数据

python - 共享模块变量没有更新?

python - 未找到 Django 页面 - 一般

python - Numpy 数组元素与 Float64 的比较

Java - 如何从字符串中删除尖括号和文本

java - 如何读取带有 XML 内容的字符串的内容并将其保存为 XML

python - numpy.rint 可以返回一个 Int32 吗?