如何通过输入从Python二维数组中获取对应元素?
解决方案
你的代码已经完成了输入合法性验证的部分,接下来只需要根据输入的数字找到二维数组中对应的字母即可,这里提供两种简单的实现方式:
方法1:转换为字典(推荐,查找更高效)
把原二维数组转换成字典后,可以直接通过输入的数字字符串作为键,快速获取对应的字母:
var = [["1","a"],["2","b"],["3","c"]] # 将二维列表转为字典,数字字符串作为键,字母作为值 lookup_dict = dict(var) inp = 'x' # 优化循环条件:直接判断输入是否在字典的键集合中 while inp not in lookup_dict: inp = input("Enter a number 1-3\n") # 通过键直接获取对应的值并打印 print(lookup_dict[inp])
方法2:遍历原二维数组(适合新手理解遍历逻辑)
如果想保留原二维数组的结构,可以通过遍历数组的每一项,匹配输入的数字:
var = [["1","a"],["2","b"],["3","c"]] inp = 'x' while inp not in ['1','2','3']: inp = input("Enter a number 1-3\n") # 遍历二维数组中的每个子列表 for item in var: # 判断子列表的第一个元素是否和输入匹配 if item[0] == inp: print(item[1]) # 找到匹配项后跳出循环,避免不必要的遍历 break
两种方法都能实现你需要的功能,方法1的字典查找效率更高,尤其是当数据量较大时优势明显;方法2更直观,适合新手理解二维数组的遍历逻辑。
内容的提问来源于stack exchange,提问作者null
相关产品推荐
相关产品推荐

