搞定Python面試必問知識點 列表

2021-10-05 14:26:45 字數 4203 閱讀 3647

python3有6種標準型別:(number(數字)、string(字串)、tuple(組),list(列表)、dictionary(字典)、set(集合))。其中,列表是python中最基本也是最常用的資料結構。列表中的每個元素都分配乙個數字,即它的位置,或索引,第乙個索引是0,第二個索引是1,依此類推。在關於python測試開發的面試中,列表是被問及頻率最高的知識點,沒有之一!本文詳細的介紹了列表中常用的方法,只要讀者理解了這些方法,那麼就搞定了python的列表,無論是應對面試還是解決工作中的實際問題都會感到得心應手!

以下**都經過了實際測試,建議大家親自動手除錯,一定會有不一樣的收穫!

# -*- coding: utf-8 -*-

l1 = ['a','b','c','d']

# list 轉換成string

str = '|'.join (l1)

print(str)

#元素是否在列表中

print( 'a'in l1)

#list 元素更改值

l1[0]='a1'

print(l1)

#訪問list中的元素

print(l1[0]) #第乙個元素

print(l1[len(l1)-1]) #最後乙個元素

#遍歷list

#方法1

print (l1)

#方法2

for i in l1:

print(i)

#方法3,索引和值

for i , value  in enumerate(l1):

print(i , value)

#獲取list長度

print(len(l1))

#新增元素

#list尾部新增元素

print(l1)

#list指定位置新增元素

l1.insert(0,'a')

print(l1)

#刪除元素

#刪除list尾部元素

l1.pop()

print(l1)

#刪除list指定位置的元素

l1.pop(1)

print(l1)

#刪除list中的某某元素

l1.remove('a')

print(l1)

#查詢list**現某某元素的索引位置

print(l1.index('b'))

#list元素反轉

l1.reverse()

print(l1)

#清空列表

l1.clear()

print(l1)

#查詢list特定元素的個數

l2=[1,3,9,9,5,4]

print(l2.count(9))

#list排序,注意l2.sort()無返回值,所以直接print(l2.sort())返回none

l2.sort() #預設公升序排序

print(l2)

l2.sort(reverse=true) #降序排序

print(l2)

#返回列表元素最大值

print(max(l2))

#返回列表元素最小值

print(min(l2))#元素是否在列表中

print( 'a'in l1)

#list 元素更改值

l1[0]='a1'

print(l1)

#訪問list中的元素

print(l1[0]) #第乙個元素

print(l1[len(l1)-1]) #最後乙個元素

#遍歷list

#方法1

print (l1)

#方法2

for i in l1:

print(i)

#方法3,索引和值

for i , value  in enumerate(l1):

print(i , value)

#獲取list長度

print(len(l1))

#新增元素

#list尾部新增元素

print(l1)

#list指定位置新增元素

l1.insert(0,'a')

print(l1)

#刪除元素

#刪除list尾部元素

l1.pop()

print(l1)

#刪除list指定位置的元素

l1.pop(1)

print(l1)

#刪除list中的某某元素

l1.remove('a')

print(l1)

#查詢list**現某某元素的索引位置

print(l1.index('b'))

#list元素反轉

l1.reverse()

print(l1)

#清空列表

l1.clear()

print(l1)

#查詢list特定元素的個數

l2=[1,3,9,9,5,4]

print(l2.count(9))

#list排序,注意l2.sort()無返回值,所以直接print(l2.sort())返回none

l2.sort() #預設公升序排序

print(l2)

l2.sort(reverse=true) #降序排序

print(l2)

#返回列表元素最大值

print(max(l2))

#返回列表元素最小值

print(min(l2))

'''

切片(list 取值的一種方法)

list[n:m]  切片是不包含後面那個元素的值(顧頭不顧尾)

list[:m] 如果切片前面乙個值預設的話,從開頭開始取

list[n:] 如果切片後面的值預設的話,取到末尾

list[:] 如果全部預設,取全部

list[n:m:s] s:步長  隔多少個元素取一次

步長是正數,從左往右取

步長是負數,從右往左取

'''l3=['a','b','d','e','f','g']

print(l3[1:3])  #輸出['b', 'd']

print(l3[2:])   #輸出['d', 'e', 'f', 'g']

print(l3[0:3:2])  #輸出['a', 'd']

print(l3[::-1])   #輸出['g', 'f', 'e', 'd', 'b', 'a'] 倒序輸出

'''列表生成式

列表生成式是python內建的非常簡單卻強大的可以用來建立list的生成式。

'''#用法1 range

'''range() 函式可建立乙個整數列表

start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5);

stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5

step:步長,預設為1。例如:range(0, 5) 等價於 range(0, 5, 1)例項

'''print(range(5)) #建立列表,值是[0, 1, 2, 3, 4]

print(range(0,10,2))#建立列表,值是[0, 2, 4, 6, 8]

#用法2,列表生成式還可以用一行語句代替迴圈生成lsit

l4=[1,2,3,4]

l5=list(x * x for x in l4) #x * x是新建list中的元素建立規則,即新建的list是l4中的元素*元素得來

print(l5)

#列表的拷貝

l6=[1,2,3,4]

l7=l6  #淺拷貝,淺拷貝即只拷貝引用,仍然指向同乙個記憶體位址,修改其中任何乙個都會使所有的引用改變

l8=l6[:] #深拷貝,拷貝內容至新的記憶體位址當中,兩個list有不同的引用

#l8=l6.copy() #深拷貝

print(id(l6)) #l6和l7指向同乙個位址

print(id(l7)) #l6和l7指向同乙個位址

print(id(l8)) #l6和l7指向不同位址

print(l7)

print(l8)

l6.reverse() #改變l6

print(l7) #輸出[4, 3, 2, 1],淺拷貝影響輸出

print(l8) #輸出[1, 2, 3, 4],深拷貝未影響輸出

面試軟體測試必問HTTP知識點

http協議是hyper text transfer protocol 超文字傳輸協議 的縮寫,是用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的傳送協議。http是乙個基於tcp ip通訊協議來傳遞資料 html 檔案,檔案,查詢結果等 http是乙個屬於應用層的物件導向的協議,由於其簡捷 快速的方...

linux驅動工程面試必問知識點

一 說明 一看就知道,找工作用的,主要想從事驅動方面的開發工作,當然追求linux的道路還很漫長,先說說面試,面試了4家跟驅動相關的公司,只有一家 深圳中微電科技 讓我佩服 還是通過 面試的 工程師問的問題其實也不難,平時看書的朋友都大概知道 只是不能全面的回答罷了,所以寫這個原因就是把它盡量搞清楚...

linux驅動工程面試必問知識點

源自 一 說明 一看就知道,找工作用的,主要想從事驅動方面的開發工作,當然追求linux的道路還很漫長,先說說面試,面試了4家跟驅動相關的公司,只有一家 深圳中微電科技 讓我佩服 還是通過 面試的 工程師問的問題其實也不難,平時看書的朋友都大概知道 只是不能全面的回答罷了,所以寫這個原因就是把它盡量...