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,...