在Python中创建首字母缩略词

16 投票
11 回答
42521 浏览
提问于 2025-04-16 08:02

在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()

撰写回答