首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python 对列表中的字符串首字母大写处理

Python 对列表中的字符串首字母大写处理

作者头像
wsuo
发布于 2020-07-30 14:05:06
发布于 2020-07-30 14:05:06
4.2K00
代码可运行
举报
文章被收录于专栏:技术进阶之路技术进阶之路
运行总次数:0
代码可运行

问题描述

有一列表 ['sDe', 'abc', 'SDF'] 问如何将该列表中的字符串全部做首字母大写处理并输出?

示例

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
['sDe', 'abc', 'SDF']

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
['Sde', 'Abc', 'Sdf']

解法一

使用 map 函数,高阶函数。

并使用 Lambda 函数作为高阶函数的参数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lt = ['sDe', 'abc', 'SDF']
mp = list(map(lambda x: x[0].upper() + x[1:].lower(), lt))  # map函数
print(mp)

map 函数的定义为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
map(func, *iterables) --> map object

Make an iterator that computes the function using arguments from 
each of the iterables.  Stops when the shortest iterable is exhausted.

第一个参数是一个函数,第二个参数是一个可变长参数。

翻译一下就是说创建一个迭代器,该迭代器使用每个可迭代对象的参数来计算函数。当最短的迭代次数用尽时停止。

在本例中就是说使用迭代访问 lt ,将每个迭代对象作为前面函数的调用参数返回。

解法二

使用列表推导式 + capitalize 方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lt = ['sDe', 'abc', 'SDF']
result = [i.capitalize() for i in lt]  # 列表推导式
print(result)

查看函数的源码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def capitalize(self): # real signature unknown; restored from __doc__
        """
        S.capitalize() -> str
        
        Return a capitalized version of S, i.e. make the first character
        have upper case and the rest lower case.
        """
        return ""

翻译一下就是将首字母大写返回,刚好满足我们的要求。

解法三

使用列表推导式 + title 方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lt = ['sDe', 'abc', 'SDF']
result = [i.title() for i in lt]
print(result)

查看函数的源码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def title(self): # real signature unknown; restored from __doc__
        """
        S.title() -> str
        
        Return a titlecased version of S, i.e. words start with title case
        characters, all remaining cased characters have lower case.
        """
        return ""

翻译一下就是返回起点的那个字符为大写,其余小写。

解法四

这种方法其实就是列表先转字符串,逐个处理之后再拼装成列表;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lt = ['sDe', 'abc', 'SDF']
result = ' '.join(lt).title().split()  # 字符串分割处理
print(result)

查看 join 函数的源码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def join(self, iterable): # real signature unknown; restored from __doc__
        """
        S.join(iterable) -> str
        
        Return a string which is the concatenation of the strings in the
        iterable.  The separator between elements is S.
        """
        return ""

翻译一下就是:在 iterable 的字符串中间插入 S;

这里的 iterable 就是 lt ,列表,这里的 S 就是 空格;

所以我们这里的操作其实是将列表拆成字符串然后以空格隔开。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/04/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
光棍节程序员闯关秀过关攻略
查看源代码,发现a标签的颜色和背景色一样,导致了我们看不到a过关地址,方法很简单,直接复制源代码中的key即可,或者ctrl+a然后单击进入下一关即可
慕白
2018/08/03
1K0
光棍节程序员闯关秀过关攻略
光棍节程序员闯关秀-解密
最近看到的了一个比较有意思的解密游戏,这解密的过程中确实花了不少的功夫,后来通过搜索才发现这是好几年前的题目,虽然题目是老的,但是技术没有过时,不得不承认其中有些问题我确实解答不上来,不过解密的过程还是很有意思的,在此记录一下,游戏地址为光棍节程序员闯关秀第1关(总共10关)
全栈程序员站长
2022/09/09
3180
【游戏】光棍节程序员闯关秀过关攻略「建议收藏」
光棍节,与我无关,结果昨夜下了场雨,导致路面结冰,大侠的出行计划泡汤了,只好在家淘宝抢东西。结果网友发来一个光棍节程序员闯关秀游戏 ,让大侠一发不可收拾。。。游戏地址http://segmentfault.com/game/
全栈程序员站长
2022/09/13
3740
【游戏】光棍节程序员闯关秀过关攻略「建议收藏」
光棍节程序员闯关秀过关全攻略(附带小工具)[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 光棍节程序员闯关秀过关全攻略。程序员的寂寞谁能懂?”SF光棍节程序员闯关秀”智力挑战小游戏火热上线,看看你能闯到第几关? 游戏地址: http://segm
全栈程序员站长
2022/09/07
4900
光棍节程序员闯关秀过关全攻略(附带小工具)[通俗易懂]
2024 NEWSTAR CTF WEEK1 writeup (下)
本系列为CTF专栏篇,在此特别感谢上海电力大学白帽子网络安全社团供稿支持,ONETS安全团队也将持续关注CTF、AWD等竞赛题目分享。同时,欢迎大家投稿分享相关内容,或者关注公众号加入网络安全技术交流群共同探讨。
OneTS安全团队
2025/02/07
1310
2024 NEWSTAR CTF WEEK1 writeup (下)
bugkuctf_web_writeup(部分)--下
bugkuctf平台10个较简单的web题目writeup,适合新手入门,可以找来试试http://ctf.bugku.com/bbs 。 本地包含 题目描述: 地址:http://120.24.86
安恒网络空间安全讲武堂
2018/03/26
1.4K0
bugkuctf_web_writeup(部分)--下
智动大闯关密码游戏记录
这个是之前玩过的一个网页闯关游戏,只是玩过,但是卡在一个关卡没有通过,希望寻求一下帮助,智动大闯关。
@坤的
2018/10/11
6.1K1
光棍节程序员闯关秀第9关(总共10关) 解题步骤
大家好,又见面了,我是你们的朋友全栈君。 题目链接: http://segmentfault.com/game/?k=4999c12ce5be7c3cba227ba9f4f7d797 解题步骤
全栈程序员站长
2022/09/13
3400
WriteUp分享 | CTF-web
题目 各种绕过哦 TXT? 文件上传测试 本地包含 考细心 正则? PHP很烦人? 一道签到题 抽抽奖 never give up I have a jpg,i upload a txt lo
安恒网络空间安全讲武堂
2018/02/06
6.7K0
WriteUp分享 | CTF-web
强网杯 WRITEUP
flag{Welc0me_tO_qwbS4_Hope_you_play_h4ppily}
鸿鹄实验室
2021/04/15
1.1K0
强网杯 WRITEUP
论如何再收一个新年解谜红包 – 2019篇
注意:题目中出现的链接需要替换后才能访问redpacket.kaaass.net=>redpacket.kaaass.net/archived/2019/。
KAAAsS
2022/01/14
4320
论如何再收一个新年解谜红包 – 2019篇
强网杯部分题目WriteUp
首先下载附件,得到一个流量包,粗略的查看一下,发现有很多TLS协议,那么可知是https流量,需要一个ssl.log,但是题目没有直接给出来,那么应该需要我们查看流量包自己找寻。然后查看了一波HTTP流,发现这样一个数据包,且返回的状态码为304(即服务端已经执行了GET,但文件未变化):
L1near
2022/11/11
7730
强网杯部分题目WriteUp
Linux 闯关游戏之通关秘籍
强盗战争是针对绝对的初学者。它将教授需要能够玩其他战争游戏的基础知识,通过这个游戏能学习到很多 Linux 的基础知识。和大多数其他游戏一样,这个游戏按层次组织。你从0级开始尝试“击败”或“完成”它。完成一个关卡会产生关于如何开始下一关的信息。本网站上的“Level <X>”页面包含有关如何从上一级开始X级的信息。
信安之路
2018/09/29
7.2K0
Linux 闯关游戏之通关秘籍
SHCTF(山河)赛事部分Write up-白猫
base128编码: Wm14aFozdDBhR2x6WDJselgyWnNZV2Q5 因为是base128编码,所以通过两次base64解码,即可得出flag
用户8909609
2023/10/31
8560
SHCTF(山河)赛事部分Write up-白猫
政采云趣味题
今天看到了一个有趣的前端解题,想到了许久之前的淘宝UED趣味题(2012.09.09)和腾讯前端特工(2013.11.11),毕竟距离上次玩这个都已经过去七八年了,不由手痒。
soulteary
2020/08/25
1.5K0
政采云趣味题
C基础系列(一)
6.输入两个实数(含小数):这里是两个L,即为 lf , 这里要注意,输入实数采用的是 “%lf ” 而不会 “ %f ”
Vincent-yuan
2020/06/02
5210
XDCTF2015-writeup
刚刚撸完十一的xdctf,虽说没能拿到好的名词,但是不管怎么说,还是见到了很多奇妙的东西,不得不说p神的很多东西还要学习,还第一次接触关于githack的东西,有空一定好好研究下git.
LoRexxar
2023/02/20
4740
XDCTF2015-writeup
BUUCTF web writeup
右键查看源代码 发现 <!--source.php-->访问source.php发现源码 题目考察代码审计
用户2700375
2022/06/09
1.2K0
BUUCTF web writeup
Linux工程笔记.md
# | 代表文件传入的参数个数,如上例中值为4 | | * | 由所有参数构成的用空格隔开的字符串,如上例中值为"2 3 4" | | 2" "
槿泽
2022/11/29
5.6K0
33关Python游戏,你能闯到第几关?
我们平常学 Python 都是按章节顺序、包或者模块来学,容易前学后忘。正好可以拿这个网站来综合测试一下对 Python 的掌握情况,以便查缺补漏。
IT阅读排行榜
2019/06/20
1K0
33关Python游戏,你能闯到第几关?
相关推荐
光棍节程序员闯关秀过关攻略
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验