删除第一个字符后的所有字符

时间:2012-05-12 07:13:29

标签: python

说我有字符串:

fame = "John"
lname = "Doe"

我想要做的是这样我就可以使用lname并使其成为第一个字符后的所有内容都被删除,所以我可以缩写姓氏。输出将是:

fullname = "John D."

我对Python没有经验,所以我找不到任何相关内容,因为我不知道这是什么。

谢谢!

3 个答案:

答案 0 :(得分:9)

>>> fname = "John"
>>> lname = "Doe"
>>> fullname = '{0} {1}.'.format(fname, lname[0])
>>> fullname
'John D.'

答案 1 :(得分:2)

非常简单,您可以通过索引调用字符串中的字符。所以第一个字符是索引0,第二个字符是1,依此类推。所以......

fullname = fname + " " + lname[0] + "."

或更多pythonic:

fullname = "%s %s."%(fname, lname[0])

Python有一些非常好的文档。阅读本文以了解如何在python中使用字符串:http://docs.python.org/library/string.html

---- ----编辑

我注意到在最近的Python版本中使用%表示法并不是一个好主意。我猜这是为了帮助程序员避免注入攻击。所以,就像其他人已经说过的那样,最好使用类似的东西:

fullname = "{0} {1}.".format(fname, lname[0])

fullname = "{0} {1[0]}".format(fname, lname)

我之前提供的Python文档也解释了这一点。显然,我不能赞同这次编辑中的代码。

答案 2 :(得分:1)

Python REPL中的以下示例代码是如何完成所需内容的示例。您可以索引字符串的一个或多个元素,如lname[0],并将子字符串与'+'连接。

>>> fame = "John"
>>> lname = "Doe"  
>>> fullname = fame + " " + lname[0] + '.'
>>> fullname
'John D.'