2012-05-12 102 views
1

说我有字符串:删除所有的字符第一个字符后

fame = "John" 
lname = "Doe" 

我想要做的就是它,所以我可以把L-NAME并让这个第一个字符后,一切都被删除,所以我可以缩写姓。输出将是:

fullname = "John D." 

我不使用Python经历过,所以我不能找到这样的东西,因为我不知道这是什么真的叫你。

谢谢!

+0

这两个字符串都是排序的数组。因此,您可以根据可以稍后连接的索引来访问字符。 – techiev2

回答

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

+1不使用%s'%(tuple)'语法。 – voithos

+6

更好的是:保持格式化字符串格式:''{0} {1 [0]}。'。格式('John','Doe')' – bluepnume

1

以下来自Python REPL的示例代码是如何完成所需内容的示例。您可以对一个或多个字符串元素进行索引,如lname[0],并用“+”连接子字符串。

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

尽管没有错,但这种附加语法并不是最佳实践。字符串格式化是首选。 –

2

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

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

,或者有点更Python:

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

不鼓励使用'%'语法(如果您使用的是Python安装) - 请改为使用'.format()'。 –

+0

我没有意识到这一点。当我学习Python的时候,就是我被教会格式化字符串的方式。我会研究这一点。谢谢。 – acattle

相关问题