python面試題(三)列表操作

2022-05-11 18:36:31 字數 2106 閱讀 6490

0x01:列表的去重操作

al = [1, 1, 2, 3, 1, 2, 4]

#set方法元素去重

al_set = set(al)

print(list(al_set)) #集合不支援索引操作,可以先將之轉換為列表

#formkeys方法

al2 = {}.fromkeys(al).keys()

print(list(al2)) #同集合,也是先將之轉換成列表

#列表推導式

al3 =

for a in al:

if a not in al3:

print(al3)

輸出結果均為:[1, 2, 3, 4]

0x02:把字串中,除間隔符以外的所有字元轉換為乙個列表

加入有個字串s = "1, 2, 3",怎麼將他轉換成列表['1','2','3']?

這裡我們不能直接用list函式,那樣會把中間的','間隔符也加入到列表裡,這裡可以用上篇文章提到過的split函式,只需要把分隔符指定為','就可以了,如下,就可以輸出我們想要的結果了

s = "1, 2, 3"

print(s.split(','))

0x03:找出兩個陣列中相同和不同元素

a = [1, 2, 3, 4, 5]

b = [1, 3, 5, 7, 9, 10]

#找出兩list中的相同元素

a = [x for x in a if x in b]

print(a)

#找出兩list中的不同元素

b = [y for y in (a+b) if y not in a]

print(b)

#在a中不在b中的元素

c = [m for m in a if m not in b]

print(c)

#在b中不在a中的元素

d = [n for n in b if n not in a]

print(d)

依次輸出的結果為:

[1, 3, 5]

[2, 4, 7, 9, 10]

[2, 4]

[7, 9, 10]

0x04:一行輸出列表

#一行輸出列表

l = ['a', 'b', 'c', 'd', 'e']  #元素是字元型別

print(''.join(l))

m = [1, 2, 3, 4, 5, 6, 7, 8, 9]  #元素不是字元型別

print(''.join(map(str, m))) #map函式,根據提供的函式對制定的序列做對映

n = [[1, 2], [3, [4,5,6]], [5, 6]]#元素是列表型別

print([y for x in n for y in x])

輸出結果依次為:

abcde

123456789

[1, 2, 3, [4, 5, 6], 5, 6]

0x05:列表合併

列表可以像字串那樣直接用『+』連線,也可以用extend方法將乙個列表中的元素全部新增到另乙個列表中,只不過前者是生成乙個新的列表,後者是更新乙個列表

#合併列表

a = [1, 5, 7, 9]

b = [2, 2, 6, 8]

print(a+b)

a.extend(b)

print(a)

輸出結果均為:[1, 5, 7, 9, 2, 2, 6, 8]

0x06:打亂列表元素

我麼可以用random中的shuffle方法對乙個列表裡面的元素進行打亂,操作如下

#打亂列表元素

from random import shuffle

a = ['a', 1, 'b',5, 6, 9, 78]

shuffle(a)

print(a)

每次執行輸出的順序不同。

鍊錶操作面試題

include using namespace std struct node int value node next node find node phead,int t 一 刪除鍊錶中某個節點 思路 先找到要刪除的節點位置 bool deletet node phead,int t else e...

鍊錶操作面試題

include include include define datetype int typedef struct node node,pnode void printlist pnode head 列印鍊錶 printf null n void bubblesort pnode phead 使用...

python學習(三) 列表

list是類,由中括號括起來,分割麼個元素,列表中元素可以是數字,字串,列表,布林值 所有都可以放進去 可以修改 li 1,asd true,小二 1,2 物件 索引取值 print li 3 切片,結果也是列表 print li 1 1 1 列表的修改 刪除 li 1,asd true,小二 1,...