博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python学习笔记_二维数组的查找判断
阅读量:5738 次
发布时间:2019-06-18

本文共 2704 字,大约阅读时间需要 9 分钟。

在进行数据处理的工作中,有时只是通过一维的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,不存在,则返回Falselist=[]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,不存在,则返回Falsedef 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 Falsedef 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.判断某个元素是否在二维数组指定列中,在则返回该元素所在的行。

转载于:https://www.cnblogs.com/SH170706/p/10505527.html

你可能感兴趣的文章
组策略 之 设备安装设置
查看>>
人工智能还能干这些?这8种AI应用你可能意想不到
查看>>
实现Hyper-V 虚拟机在不同架构的处理器间迁移
查看>>
linux根目录下的文件解析
查看>>
简单使用saltstack
查看>>
针对web服务器容灾自动切换方案
查看>>
LTE学习笔记(一)——背景知识
查看>>
突破媒体转码效率壁垒 阿里云首推倍速转码
查看>>
容器存储中那些潜在的挑战和机遇
查看>>
程序员该懂一点儿KPI
查看>>
<转载>在数据科学环境中使用 Docker 容器
查看>>
R语言的三种聚类方法
查看>>
55%受访企业将物联网战略视为有效竞争手段
查看>>
深入理解Python中的ThreadLocal变量(上)
查看>>
如果一切即服务,为什么需要数据中心?
查看>>
RSA总裁预测2016年网络安全趋势
查看>>
Spark架构在大数据环境的核心位置找到用武之地
查看>>
存储性能101:服务器、阵列与网络架构基础
查看>>
《游戏开发物理学(第2版)》一导读
查看>>
Erlang简史(翻译)
查看>>