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