2024-06-09 05:34:40 发布
网友
我在python中有一个列表,我想迭代并大写每个不是'a'的字母,所以将这个列表翻过来:
['albert', 'angela', 'leo', 'bridget']
进入:
所有现有的答案似乎都想单独操作角色。只需将单词作为一个整体来处理就更简单、更容易:
>>> the_list = ['albert', 'angela', 'leo', 'bridget'] >>> [ word.upper().replace('A', 'a') for word in the_list] ['aLBERT', 'aNGELa', 'LEO', 'BRIDGET']
[''.join(c.upper() if c != 'a' else c for c in word) for word in the_list]
这就是^{}的用途:
import string table = string.maketrans(string.ascii_lowercase.replace('a', ''), string.ascii_uppercase.replace('A', '')) names = ['albert', 'angela', 'leo', 'bridget'] print [name.translate(table) for name in names]
translate接受一个256个字符的表,因此使用^{}将代表小写和大写字母的string constants转换为一个表。表中未出现的任何字母都将被忽略,因此删除a和{}将所有其他字母大写。
translate
a
然后将翻译表应用于列表中的每个名称。
它将比迭代每个名称并对每个字母调用upper快,但是a。虽然通用的Python工具使这项工作变得容易,但这是专门为这项工作而设计的工具。
upper
所有现有的答案似乎都想单独操作角色。只需将单词作为一个整体来处理就更简单、更容易:
这就是^{} 的用途:
translate
接受一个256个字符的表,因此使用^{a
和{然后将翻译表应用于列表中的每个名称。
它将比迭代每个名称并对每个字母调用
upper
快,但是a
。虽然通用的Python工具使这项工作变得容易,但这是专门为这项工作而设计的工具。相关问题 更多 >
编程相关推荐