我是靠谱客的博主 甜甜镜子,最近开发中收集的这篇文章主要介绍python元祖迭代_在python中迭代元组,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这个代码else:

return None

如果if测试未成功,则会中断for循环,因此如果名称与列表中的第一个元组不匹配,则不会测试其他名称。你不想那样!在

而且,你不需要这样做

^{pr2}$

你能做到的tuplo[index]

这是您代码的修复版本。在tuplo = [

('joao', 300, 20),

('ana', 80, 15),

('patricia', 17, 90),

]

def coordenadas(tuplo, nome):

for indice in range(len(tuplo)):

if tuplo[indice][0] == nome:

print(tuplo[indice])

coordenadas(tuplo, 'joao')

coordenadas(tuplo, 'ana')

coordenadas(tuplo, 'patricia')

输出('joao', 300, 20)

('ana', 80, 15)

('patricia', 17, 90)

顺便说一句,如果只想找到第一个匹配的元组,可以在if块的末尾添加break或return语句,如下所示:def coordenadas(tuplo, nome):

for indice in range(len(tuplo)):

if tuplo[indice][0] == nome:

print(tuplo[indice])

break

然而,有更好的方法来完成这项任务。在Python中,最好直接迭代集合中的项,而不是通过索引间接迭代:def coordenadas(tuplo, nome):

for t in tuplo:

if t[0] == nome:

print(t)

break

一种更有效的方法是将列表转换为字典,尤其是当您有许多元组时。例如:tuplo = [

('joao', 300, 20),

('ana', 80, 15),

('patricia', 17, 90),

]

tuplo_dict = {t[0]: t for t in tuplo}

def coordenadas(data, nome):

print(nome, data.get(nome))

coordenadas(tuplo_dict, 'joao')

coordenadas(tuplo_dict, 'ana')

coordenadas(tuplo_dict, 'patricia')

coordenadas(tuplo_dict, 'tom')

输出joao ('joao', 300, 20)

ana ('ana', 80, 15)

patricia ('patricia', 17, 90)

tom None

它使用了更多的RAM,但是它比以前的版本更高效,因为在字典中搜索条目的速度非常快。在

最后

以上就是甜甜镜子为你收集整理的python元祖迭代_在python中迭代元组的全部内容,希望文章能够帮你解决python元祖迭代_在python中迭代元组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部