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家跟驅動相關的公司,只有一家 深圳中微電科技 讓我佩服 還是通過 面試的 工程師問的問題其實也不難,平時看書的朋友都大概知道 只是不能全面的回答罷了,所以寫這個原因就是把它盡量...