Python 将map()函数与字符串一起使用
有没有办法将Python 将map()函数与字符串一起使用,python,string,python-3.x,list,lambda,Python,String,Python 3.x,List,Lambda,有没有办法将map()函数与字符串而不是列表一起使用?或者map()函数仅用于处理列表 例如,忽略lambda函数的内容,此代码返回一个映射对象而不是字符串: def rot_13(string): alph = 'abcdefghijklmnopqrstuwxyz' return str(map(lambda i: alph[(alph.find(i)+13) % len(alph)], string)) 与map()相比,使用列表/生成器理解更可取(更具Pythonic):
map()
函数与字符串而不是列表一起使用?或者map()
函数仅用于处理列表
例如,忽略lambda函数的内容,此代码返回一个映射对象而不是字符串:
def rot_13(string):
alph = 'abcdefghijklmnopqrstuwxyz'
return str(map(lambda i: alph[(alph.find(i)+13) % len(alph)], string))
与
map()
相比,使用列表/生成器理解更可取(更具Pythonic):
与
map()
相比,使用列表/生成器理解更可取(更具Pythonic):
python3
map
返回一个生成器,因此您必须使用它,使用是最简单的方法:
"".join(map(lambda i: alph[(alph.find(i)+13) % len(alph)], string))
它类似于此代码:
my_string = ""
for l in map(lambda i: alph[(alph.find(i)+13) % len(alph)], string):
my_string += l
python3
map
返回一个生成器,因此您必须使用它,使用是最简单的方法:
"".join(map(lambda i: alph[(alph.find(i)+13) % len(alph)], string))
它类似于此代码:
my_string = ""
for l in map(lambda i: alph[(alph.find(i)+13) % len(alph)], string):
my_string += l
map
在Python3中返回一个生成器,请尝试:return”“.join(list(map(lambda i:alph[(alph.find(i)+13)%len(alph)],string))
您可以将字符串转换为类似于a_list=list(a_string)
@MauriceMeyer map返回一个映射对象,而不是生成器的列表<代码>贴图始终返回贴图对象。不管你睡多晚。它可以与任何iterable一起使用。map
在Python3中返回一个生成器,请尝试:return”“。join(list(map(lambda i:alph[(alph.find(i)+13)%len(alph)],string))
可以将字符串转换为类似于a_list=list(a_string)
@MauriceMeyer map返回一个映射对象,而不是generatories<代码>贴图始终返回贴图对象。不管你睡多晚。它是用来处理任何iterable的。谢谢,我认为这是最好的方法谢谢,我认为这是最好的方法map
不返回生成器,它返回一个map对象,它是迭代器,但不是生成器。map
不返回生成器,它返回一个map对象,它是迭代器,但不是生成器。