gpt4 book ai didi

python - 将字符串映射到对列表

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:59 25 4
gpt4 key购买 nike

我有一个 for 循环,它遍历一个字符串并返回每个字符和下一个字符的对:

>>> word = 'abcdef'
>>> for i in range(len(word)-1):
... print word[i:i+2]
...
ab
bc
cd
de
ef

是否可以改用映射/过滤器组合来编写此代码?我在弄清楚如何获取下一个字符而不是使用 i+2 时遇到问题。

我试过两次传递单词以像这样将它们映射在一起:

>>> word = 'abcdef'
>>> map(lambda x, y: x+y, word, word[1:])

但我不确定如何避免 str 和 None 的连接错误:

>>> map(lambda x, y: x+y, word, word[1:])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: cannot concatenate 'str' and 'NoneType' objects

最佳答案

这解决了您的问题:

list(map(lambda x, y: x+y, word[:-1], word[1:]))

只是忽略第一个可迭代的 word 的最后一个元素 (word[:-1])

关于python - 将字符串映射到对列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41923858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com