python - 如何在 lambda、python 中保存索引

标签 python python-3.x lambda

我正在尝试执行以下操作:

>>>func = lambda string,i=0: string[index]

>>> func('HEY')
H
>>> func('HEY')
E
>>> func('HEY')
Y

如何每次保存并递增索引(无需将索引创建为全局索引) 谢谢

最佳答案

解决方案1

您可以创建一个生成器函数,如下所示

def get_next_char(actual_string):
    for char in actual_string:
        yield char

然后,您需要创建一个生成器对象,如下所示

next_char = get_next_char("HEY")

就是这样。现在,您可以使用 next 函数获取下一个字符,如下所示

>>> next(next_char)
H
>>> next(next_char)
E
>>> next(next_char)
Y

解决方案2

您可以简单地使用字符串的迭代器,如下所示

get_char = iter("HEY")
>>> next(get_char)
H
>>> next(get_char)
E
>>> next(get_char)
Y

关于python - 如何在 lambda、python 中保存索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27469294/

相关文章:

python - 如何使用webapp2测量页面生成时间?

lambda - 在java中,为什么stream peek对我不起作用?

c++ - std::function 成员可以访问其他成员吗?

lambda - Kotlin lambda 和类型推断

Python - 如何将字符串结果放入变量的 if else 中?

python - 通过 for 循环从列表中删除不需要的字符

python - 如何在Python中获取日期范围内的一些特定工作日的列表

python - 如何在数字前拆分字符串

Python正则表达式查找字符串

python - 将变量保存在文本文件中