大神帮忙看看这么写为什么不对
L=['adam','LISA','bart']
def f(x):
x.upper(L)
return x
print map(f.L)
L=['adam','LISA','bart']
def f(x):
x.upper(L)
return x
print map(f.L)
2016-12-28
我还是推荐你下载一个集成开发环境,也就是IDE。软件叫做Pycharm。你运行后才知道你到底错在哪里。
下面来看你的代码(基本语法错误):
L=['adam','LISA','bart'] def f(x): x.upper(L) #你要空四格 return x #你也要要空四格 print map(f.L) #不是f.L 而是f,L
好的,现在给你看看正确代码的逻辑(你的代码逻辑是错的而且很乱就不解释了):
def format_name(s): #定义函数 return s[0].upper() + s[1:].lower() #空了四格,是函数format_name(s)体内的函数 print map(format_name, ['adam', 'LISA', 'barT']) #看到了吗?是英文输入法下的逗号哦!,
一个函数执行后要有返回(return),对于adam,s[0]代表a这个字符,所以s[0].upper就是A。s[1: ]代表a以后的字符串,也就是dam。所以s[1:].lower()就是将dam小写。同理执行LISA和barT。
map是分别对list列表里的每个元素进行format_name()函数处理的意思。
共勉~
举报