繁体   English   中英

在python中打印时如何整齐地合并列表的一部分

[英]How to neatly combine a part of a list when printing in python

name = "Joe Van Schmo"
rname = name.split()
print ('{}, {}'.format(rname[-1],rname[0:-1]))

理想情况下,我希望收益为(除了第一个单词以外的所有单词),(第一个单词),但我不确定如何以最快的方式组合Van和Schmo。

任何帮助表示赞赏。 谢谢

您可以将maxsplit参数用于str.split

name = "Joe Van Schmo"
fname, rname = name.split(None, 1)
print ('{}, {}'.format(rname, fname))

输出:

Van Schmo, Joe

您可以为str.split提供maxsplit参数 ,或者,如果您知道名字和名字的其余部分之间只有一个空格,则str.partition最多包含一个split

name = "Joe Van Schmo"
# Raises exception if no spaces in name
firstname, restname = name.split(maxsplit=1)  # Equivalently, name.split(None, 1)

# Or without exceptions, but with possibly odd output for spaceless names
firstname, sep, restname = name.partition(' ')

print ('{}, {}'.format(restname, firstname))

第一个字:

rname[0]

除了第一个单词以外的所有单词:

rname[1:]

如果要与空格合并:

' '.join(rname[1:])

因此,您的最后一行代码应该是:

print ('{}, {}'.format(' '.join(rname[1:]),rname[0]))

您还可以在打印语句中直接切片.split()

print('{}, {}'.format(' '.join(name.split()[1:]), name.split()[0]))
 Van Schmo, Joe 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM