Python 如何忽略第一个收益率值?

Python 如何忽略第一个收益率值?,python,redis,Python,Redis,以下代码仅用于说明目的 def从_redis()获取_消息: 对于self.pubsub.listen()中的项: 收益率(项目['channel',项目['data'])#如何忽略第一个收益率? 我知道以下方法可以忽略第一个收益率值: g=get\u messages\u from\u redis() 下一个(g) 但是如何在从\u redis()获取\u消息中忽略这一点? (计数器可用于控制是否屈服,但有更好的方法吗?在屈服之前在函数内部迭代。我不确定您的iterable确切是什么,但这

以下代码仅用于说明目的

def从_redis()获取_消息:
对于self.pubsub.listen()中的项:
收益率(项目['channel',项目['data'])#如何忽略第一个收益率?
我知道以下方法可以忽略第一个收益率值:

g=get\u messages\u from\u redis()
下一个(g)
但是如何在
从\u redis()获取\u消息中忽略这一点?

(计数器可用于控制是否屈服,但有更好的方法吗?

在屈服之前在函数内部迭代。我不确定您的iterable确切是什么,但这里有一个假设列表为
的通用示例

def从_redis()获取_消息:
对于self.pubsub.listen()中的项[1:]:
产量项目['channel'],项目['data']
对于更通用的解决方案,您可以创建iterable的迭代器,对第一个迭代器进行迭代,然后循环并从中产生结果注意:这主要是为了更广泛的报道,我不确定这可能会对某些iterables产生什么负面影响

def iter\u skip\u first(i):
iterable=iter(i)
下一个(可编辑)
因为我在iterable:
产量一
li=[1,2,3,4]
d={“一”:1,“二”:2,“三”:3,“四”:4}
打印(*iter_跳过_优先(li))
打印(*iter_跳过_优先(d))

iter\u skip\u first
可以直接返回
iterable
而不是在其上循环,从而减少一级间接寻址。非常好!我会编辑的。编辑:没关系,这个例子在这里还是很谨慎的,因为退出这个函数会失去收益的其他好处,它不会解决原来的问题。谢谢你的帮助!没问题!很高兴我能帮忙。