gpt4 book ai didi

python - 通过 Python 中的元组比较项目

转载 作者:行者123 更新时间:2023-12-04 16:26:00 28 4
gpt4 key购买 nike

如果我应该定义一个函数,如果元组的第一个元素与函数的参数匹配,则返回元组的第二个元素。

具体来说,假设我有一个学生注册号列表:详情 = (("S12345", "John"), ("S23456", "Max"), ("S34567", "Mary"))

我已经定义了一个函数,它应该接受reg_num的参数,例如“S12345”,并在这种情况下返回学生的姓名, “约翰”。如果数字完全不匹配,我需要打印 "Not found" 作为消息。本质上,我明白我需要对较大的元组进行排序,并比较每个较小元组的第一个元素[0],然后返回[1]的条目每个较小的元组。这是我的想法:

def get_student_name(reg_num, particulars):
for i in records:
if reg_num == particulars[::1][0]:
return particulars[i][1]
else:
print("Not found")

我知道我错了,但我不知道为什么。我不太熟悉如何对元组进行排序。谁能提供一些建议,尤其是在语法方面?非常感谢!

最佳答案

当您编写for i in details 时,在每次迭代中,i 是集合的一项,而不是索引。因此,您不能执行 particulars[i] (并且没有必要 - 因为您已经拥有该项目)。此外,删除 else 语句,以便不为每个不匹配条件的项目打印:

def get_student_name(reg_num, particulars):
for i in particulars:
if reg_num == i[0]:
return i[1]
print("Not found")

如果您想使用索引进行迭代,您可以这样做(但不太好):

for i in range(len(particulars)):
if reg_num == particulars[i][0]:
return particulars[i][1]

关于python - 通过 Python 中的元组比较项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64011716/

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