在进行数据处理的工作中,有时只是通过一维的list和有一个Key,一个value组成的字典,仍无法满足使用,比如,有三列、或四列,个数由不太多。
举一个现实应用场景:学号、姓名、手机号,可以再加元素
这里我想到的一个办法是采用二维数组来处理。
软件环境:
1.OS:Win10 64位
2.Python 3.7
参考代码,不多解释,下面代码可执行。
#! -*- coding utf-8 -*- #! @Time :2019/3/10 #! Author :Frank Zhang #! @File :Test.py #! Python Version 3.7 #判断某个元素是否在二位数组中存在,存在则返回True,不存在,则返回False list=[] def main(): list_a=['a1','a2','a3'] if list_a not in list: list.append(list_a) list_b=['b1','b2','b3'] if list_b not in list: list.append(list_b) list_c=['c1','c2','c3'] if list_c not in list: list.append(list_c) list_d=['d1','d2','d3'] if list_d not in list: list.append(list_d) list_e=['e1','e2','e3'] if list_e not in list: list.append(list_e) list_f=['c1','c2','c3'] if list_f not in list: list.append(list_f) print(list) strTmp="b1" print("The search str is :" + strTmp) print("====================example 1=======================") if Find1(strTmp,list)==True: print("It's found") else: print("It's not found") print("====================example 2=======================") list_r=Find2(strTmp,list) if not list_r: print("The target list is not found.") else: print(list_r) print("====================example 3=======================") list_r=Find3(strTmp,list,1) if not list_r: print("The target list is not found.") else: print(list_r) #判断是否存在某个元素,如果存在,则返回True,不存在,则返回False def Find1(target,array): # 不存在数组则直接返回 if not array: return False # 二维数组的行 row = len(array) # 二维数组的列 col = len(array[0]) # 二层循环遍历二维数组 for i in range(row): for j in range(col): # 如果目标值等于数组中的值,则找到 if target == array[i][j]: return True # 数组遍历结束后仍未找到 return False #判断某个元素是否存在,存在则返回该元素存在的一维数组 def Find2(target,array): if not array: return False # 二维数组的行 row = len(array) # 二维数组的列 col = len(array[0]) # 二层循环遍历二维数组 for i in range(row): for j in range(col): # 如果目标值等于数组中的值,则找到 if target == array[i][j]: return array[i] # 数组遍历结束后仍未找到 return False def Find3(target,array,searchCol): if not array: return False # 二维数组的行 row = len(array) # 二维数组的列 col = len(array[0]) # 二层循环遍历二维数组 for i in range(row): # 如果目标值等于数组中的值,则找到 if target == array[i][searchCol]: return array[i] # 数组遍历结束后仍未找到 return False if __name__=="__main__": main()
其中分三种情况:
1.判断某个元素是否在二位数组中。在则返回True,不在则返回False
2.判断某个元素是否在二维数组中,在则返回该元素所在的行,作为一维数组,可相应获取其它该一维数组里其它的元素。
3.判断某个元素是否在二维数组指定列中,在则返回该元素所在的行。