在Python中创建首字母缩略词
在Python中,我该如何从一个给定的字符串中生成首字母缩略词?
比如,输入的字符串是:
'First Second Third'
输出结果是:
'FST'
我尝试了类似这样的代码:
>>> for e in x:
print e[0]
但是它没有成功……有没有什么建议可以让我做到这一点?我相信有个合适的方法,但我就是搞不清楚。难道我需要用到re
吗?
11 个回答
6
没有使用 re
模块:
>>> names = 'Vincent Vega Jules Winnfield'
>>> ''.join(x[0] for x in names.split())
'VVJW'
19
如果你只想使用大写字母
>>>line = ' What AboutMe '
>>>filter(str.isupper, line)
'WAM'
那么那些可能不是首字母大写的单词呢。
>>>line = ' What is Up '
>>>''.join(w[0].upper() for w in line.split())
'WIU'
那只有大写字母的单词呢。
>>>line = ' GNU is Not Unix '
>>>''.join(w[0] for w in line.split() if w[0].isupper())
'GNU'
20
试试这个
print "".join(e[0] for e in x.split())
你的循环实际上是遍历字符串 x
中的所有字符。如果你想遍历单词,可以使用 x.split()
。