Python二维列表查找函数调用后无输出,请问问题出在哪里?
Python二维列表查找代码问题排查
你写的代码存在两个核心错误:
- 判断条件取值错误:循环中的判断语句
if user_list[0][0]==lookupvalue:里,user_list[0][0]固定取的是二维列表第一行第一列的表头值Account number,永远不会和你传入的账号字符串匹配,所以不会触发打印逻辑。 - 遍历变量未使用:你已经通过for循环拿到了每一行的
row变量,但判断逻辑里完全没有用到这个变量,自然无法匹配到对应行的账号。
修正后的代码
def finder(lookupvalue): user_list = [ ["Account number","Currency","Balance"], ["001-987654-003","USD",1300.72], ["001-919202-100","EUR",105.01], ["001-905700-100","EUR",305.00], ["001-908415-307","CHF",20804.98], ["011-974777-200","PLN",208.15], ["001-931654-001","USD",450.7] ] # 从索引1开始遍历,跳过表头行,避免无意义判断 for row in user_list[1:]: # 判断当前行的第一列(账号列)是否等于查找值 if row[0] == lookupvalue: print("yes") # 找到后不需要继续遍历可以加break提前退出 break
调用finder("001-987654-003")后就会正常输出yes。
内容的提问来源于stack exchange,提问作者pucktack
相关产品推荐
相关产品推荐

