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后的版本,返回值是一个迭代器