1

说我有字符串:

fame = "John"
lname = "Doe"

我想要做的是制作它,以便我可以使用 lname 并制作它,以便删除第一个字符之后的所有内容,以便我可以缩写姓氏。输出将是:

fullname = "John D."

我没有使用 Python 的经验,所以我在这方面找不到任何东西,因为我不知道这到底叫什么。

谢谢!

4

3 回答 3

9
>>> fname = "John"
>>> lname = "Doe"
>>> fullname = '{0} {1}.'.format(fname, lname[0])
>>> fullname
'John D.'
于 2012-05-12T07:15:41.880 回答
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 文档也解释了这一点。显然,我不能把这个编辑中的代码归功于我。

于 2012-05-12T07:18:17.553 回答
1

Python REPL 中的以下示例代码是如何完成您想要的操作的示例。您可以索引字符串的一个或多个元素,例如lname[0],并使用“+”连接子字符串。

>>> fame = "John"
>>> lname = "Doe"  
>>> fullname = fame + " " + lname[0] + '.'
>>> fullname
'John D.'
于 2012-05-12T07:16:40.173 回答