如何通过传参过滤数组并获取所需值(Python实现)
实现Python查找函数的正确方式
你期望的函数结构是其他编程语言的语法,Python里函数定义有自己的规范,下面是适配你需求的完整实现:
def get_value(name_to_find, lst): # 直接遍历列表元素,比用range(len(lst))更简洁易读 for item in lst: if item[0] == name_to_find: # 返回包含名字和年龄的元组 return ("name:", item[0], "age:", item[1]) # 未找到匹配项时返回提示 return "Name not found in the list" # 定义原始数据列表 lst = [["a", 45], ["b", 40], ["c", 18], ["d", 17]] # 获取用户输入 user_name = input("Enter your name: ") # 调用函数并接收返回值 result = get_value(user_name, lst) # 输出结果 print("Searching in list") print(result)
关键细节说明:
- 函数声明:Python用
def 函数名(参数1, 参数2):定义函数,函数体必须缩进(通常用4个空格),不需要大括号包裹。 - 参数设计:把要查找的名字和数据列表作为参数传入函数,避免依赖全局变量,让函数更通用。
- 遍历优化:直接遍历列表中的每个元素
item,比通过索引遍历的写法更符合Python的风格。 - 返回值处理:找到匹配项时返回包含信息的元组,未找到时返回明确提示,避免出现无返回值的情况。
如果想要返回更美观的格式化字符串,可以修改返回语句:
return f"name: {item[0]}, age: {item[1]}"
内容的提问来源于stack exchange,提问作者Mohamed Afzil
相关产品推荐
相关产品推荐

