map()函数映射

map()函数(映射)

pattern = "abba"
str = "dog cat cat dog"
res=str.split()
print(list(map(pattern.index,pattern)))
print(list(map(res.index,res)))

C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe D:/python/8.01/test.py
[0, 1, 1, 0]
[0, 1, 1, 0]

可以看出map函数可以根据字符串或者列表来打印出自己想要的映射,如aabb就会映射出0011,这个映射是根据索引来的当字符串变化时可以看到根据c的索引就是4开辟了另一个值

pattern = "abbacc"
str = "dog cat cat dog"
res=str.split()
print(list(map(pattern.index,pattern)))
print(list(map(res.index,res)))


C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe D:/python/8.01/test.py
[0, 1, 1, 0, 4, 4]
[0, 1, 1, 0]

当然根据其他的方法可以获得自己想要的映射

pattern = "abbaccdddd"
print(list(map(pattern.count,pattern)))


C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe D:/python/8.01/test.py
[2, 2, 2, 2, 2, 2, 4, 4, 4, 4]

打印时一定要转换成一个列表,因为在py3.0后的版本,返回值是一个迭代器

猜你喜欢

转载自www.cnblogs.com/oxtime/p/11311606.html