python - 列表中每个单词的首字母大写;栏全部大写的单词

标签 python string list python-3.x capitalization

我需要编写一个程序,可以将句子中的每个单词大写(存储为单词列表),不会影响句子其他部分的大写。

例如,假设句子是“你好,我是 ROB ALSOD”。在列表中,这将是:

['hello,','i','am','ROB','ALSOD']

我知道我可以遍历并使用 str.title() 方法为它们添加标题,但这会导致:

['Hello,','I','Am','Rob','Alsod']

注意到区别了吗?我想要的效果是:

['Hello,','I','Am','ROB','ALSOD']

换句话说,我想让其他大写字母保持不变。

最佳答案

这是单行代码,使用 list comprehensions和字符串 slicing :

>>> words = ['hello,','i','am','ROB','ALSOD']
>>> [word[:1].upper() + word[1:] for word in words]
['Hello,', 'I', 'Am', 'ROB', 'ALSOD']

它大写 word[:1](包括第一个字符在内的所有内容)而不是 word[0](第一个字符本身)以避免如果您的列表包含空字符串 '',则会出错。

关于python - 列表中每个单词的首字母大写;栏全部大写的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18093619/

相关文章:

python - 我在将文本文件解析为字典时遇到问题

python - 搜索-根据关键字最左端的接近程度来计算相关性?

c - 在 C 中修剪字符串

list - Struts2 迭代器标签 - 从对象列表中访问特定对象值

python - 循环遍历列表时获取下一个元素

python - 使用 Subprocess (Python) 发送 CMD 命令提示符

javascript - jquery ":contains"选择器是否接受这种值 "Banking and Finance"?

c - 通过 scanf() 提取输入字符串的一部分

python - 访问排序嵌套列表的第一个元素以获取第二小的第二个元素

python - 我将如何对这样的代码进行单元测试?