Python學習筆記 二維陣列的查詢判斷

2022-05-26 21:03:13 字數 3325 閱讀 2046

在進行資料處理的工作中,有時只是通過一維的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=

defmain():

list_a=['

a1','

a2','a3'

]

if list_a not

inlist:

list_b=['

b1','

b2','b3'

]

if list_b not

inlist:

list_c=['

c1','

c2','c3'

]

if list_c not

inlist:

list_d=['

d1','

d2','d3'

]

if list_d not

inlist:

list_e=['

e1','

e2','e3'

]

if list_e not

inlist:

list_f=['

c1','

c2','c3'

]

if list_f not

inlist:

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)

ifnot

list_r:

print("

the target list is not found.")

else

:

print

(list_r)

print("

********************example 3********************===")

list_r=find3(strtmp,list,1)

ifnot

list_r:

print("

the target list is not found.")

else

:

print

(list_r) #

判斷是否存在某個元素,如果存在,則返回true,不存在,則返回false

deffind1(target,array):

#不存在陣列則直接返回

ifnot

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

#判斷某個元素是否存在,存在則返回該元素存在的一維陣列

deffind2(target,array):

ifnot

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

deffind3(target,array,searchcol):

ifnot

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.判斷某個元素是否在二維陣列指定列中,在則返回該元素所在的行。

二維樹狀陣列 學習筆記

前言 遇到二維的問題都很虛,而且樹狀陣列也不熟練 於是學了一發這個。以下所有問題均在二維中 1.單點修改,單點查詢 這個最簡單,直接開乙個二維陣列搞一搞就完事了。2.單點修改,區間查詢 ans sum x2,y2 sum x1 1,y2 sum x2,y1 1 sum x1 1,y1 1 inlin...

二維樹狀陣列學習筆記

1首先從一維的開始,考慮最基礎的單點修改,區間查詢。樹狀陣列模板1 這個是最基礎的,就是定義的應用。2再考慮區間修改,單點查詢。樹狀陣列模板2。我們可以想到,在對一段區間 l,r 進行修改時,可以將 1,r 加上 k 將 1,l 1 減去 k 但這樣修改,對於單點查詢來說,似乎不是那麼的方便,我們可...

二維陣列的筆記

二維陣列的使用 public class arraytest 1維 靜態初始化 intarr1 new int 動態初始化 stringarr2 new string 3 2 動態初始化2 stringarr3 new string 3 也是正確寫法 int arr4 new int int arr...