如何添加列表元素,并将其转换为字符串
答
使用str.upper()
:
>>> 'How are you?'.upper()
'HOW ARE YOU?'
关于你的问题:“我无法弄清楚如何把他们重新走到一起从列表中为字符串”,使用str.join
:
>>> lis = ['H', 'O', 'W', ' ', 'A', 'R', 'E', ' ', 'Y', 'O', 'U', '?']
>>> ''.join(lis)
'HOW ARE YOU?'
如果你想使用reduce
,你需要给它的''
的初始值,并给它一个函数有两个参数,并将其简化为一个结果:
>>> reduce(lambda s,t:s + t, lis, '')
'HOW ARE YOU?'
reduce
没有lambda
:
>>> import operator
>>> reduce(operator.add, lis, '')
'HOW ARE YOU?'
重要提示:使用reduce
建立一个字符串非常低效因为它创建每次添加后的新字符串。甚至中等长度的字符串的性能会过度。
+0
你的add函数需要两个字符串并返回一个。 'def add_s(s,t):return s + t'。或者使用'operator.add'。 – 2014-10-02 16:09:09
将使用'string.upper()'是一个选项,或者你需要做到这一点你自己? – TheSoundDefense 2014-10-02 15:46:13
你的'all_caps'函数有两个返回语句。只有第一个将被执行。 – 2014-10-02 15:52:00