我试着按照指示做:
>>> values ['9', '31', '32']
>>> map('abc'.join, values)
and got:
['9', '3abc1', '3abc2']
但我想:
['abc9', 'abc31', 'abc32']
为什么我错了?你知道吗
为了记录在案,我用了:
>>> map(lambda x: 'abc%s' % x, values)
但是我仍然对第一个地图构造的行为感到困惑!你知道吗
谢谢你所有有见地的回答。他们都是正确的和有帮助的,所以我不得不掷骰子来选择接受哪一个-我会接受他们中的任何一个;-)
这将随后调用
它给出了
'9'
,因为在join
的给定参数中只有一个元素,那么因为
'31'
与['3', '1']
相似,所以结果是'3abc1'
,依此类推。你知道吗你想要的是
方法
str.join()
使用点前面的部分作为字符串,通过它连接其他字符串的iterable。这就是为什么结果
如果只是将字符串作为iterable传入,则各个字符就是该iterable的项:
结果
'abc'.join(l)
在连接l
中的项时,使用abc
作为分隔符将它与
values
列表映射时,对values
中的每个项调用一次方法。由于字符串在Python中是可iterable的,因此每个字符都用作一个项。你知道吗相关问题 更多 >
编程相关推荐