关于多层表达式
names = ['aDam', 'barT'] print [names.capitalize() for x in names]
把首字母全部改成大写,请问为什么这个代码不行呢?
names = ['aDam', 'barT'] print [names.capitalize() for x in names]
把首字母全部改成大写,请问为什么这个代码不行呢?
2018-04-12
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 任务: 假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则, 请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list: 输入:['adam', 'LISA', 'barT'] 输出:['Adam', 'Lisa', 'Bart'] ''' # 第一种方法 L = ['adam', 'LISA', 'barT'] def f(x): return x.title() # title方法 将字符串转换成标题,即首字母大写,其他字母小写 print map(f, L) # 第二种方法 import string def f(x): return string.capwords(x) # 为了将首字母大写,其他字母小写,可以调用string模块的capword函数进行转换 print map(f, ['adam', 'LISA', 'barT']) # 第三种方法 # Python capitalize()将字符串的第一个字母变成大写,其他字母变小写。 def f(x): return x.capitalize() print map(f, ['adam', 'LISA', 'barT'])
举报