【Python】Python中的列表操作

來源:互聯網
上載者:User

標籤:element   建立   表達   strong   iter   第一個   rabl   提取   pop   

Python的列表操作可謂是功能強大且方便(相對於Java)
簡單、常規的操作就不說了(這不是一個入門教程),介紹幾個很有特點的例子

添加
# 追加到結尾(append)li = [1, 2, 3, 4, 5]li.append(6)print(‘li = %s‘ % li)# 輸出:li = [1, 2, 3, 4, 5, 6]# 追加一個列表(extend)li2 = [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]li.extend(li2)print(‘li = %s‘ % li)# 輸出:li = [1, 2, 3, 4, 5, 6, ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]# 列表和列表也可以做加法li_plus = li + li2print(‘li_plus = %s‘ % li_plus)# 輸出:li_plus = [1, 2, 3, 4, 5, 6, ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]

刪除
# 刪除列表中的元素li = [1, 2, 3, 4, 5]li.remove(3)print(‘li = %s‘ % li)# 輸出:li = [1, 2, 4, 5]
# 根據索引刪除元素del li[3]print(‘li = %s‘ % li)# 輸出:li = [1, 2, 4]

 

截取(又叫切片操作)
格式: [start:end:step] 。記住這個格式後你就可以發揮想象了
li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 每隔兩個元素取一個li2 = li[::2]print(‘li2 = %s‘ % li2)# 輸出:li2 = [0, 2, 4, 6, 8, 10]# 最後一個元素element = li[-1]print(‘element = %s‘ % element)# 輸出:element = 10# 拷貝(拷貝後是一個新對象)li2 = list(li)print(‘li2 = %s‘ % li2)# 輸出:li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

提取並刪除(pop)
li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 提取並刪除最後一個元素li.pop()    # 等同於 li.pop(-1)print(‘li = %s‘ % li)# 輸出:li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# 提取並刪除第一個元素(或第n個元素)li.pop(0)print(‘li = %s‘ % li)# 輸出:li = [1, 2, 3, 4, 5, 6, 7, 8, 9]

 

排序
# 正序排列li = [3, 1, 5, 8, 0, 9, 2, 6, 7, 4]li.sort()print(‘li = %s‘ % li)# 輸出:li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# 倒序li = [3, 1, 5, 8, 0, 9, 2, 6, 7, 4]li.sort(reverse=True)print(‘li = %s‘ % li)# 輸出:li = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]# 翻轉(不是倒序排列)li = [3, 1, 5, 8, 0, 9, 2, 6, 7, 4]li.reverse()print(‘li = %s‘ % li)# 輸出:li = [4, 7, 6, 2, 9, 0, 8, 5, 1, 3]

列表解析

根據已有列表,高效建立新列表的方式
格式: [expression for iter_val in iterable] 
# 列表中的每一項取平方li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]li2 = [i**2 for i in li]print(‘li2 = %s‘ % li2)# 輸出:li2 = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]# 只有大於5的數才取平方。運算式也可以是if語句li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]li2 = [i**2 if i > 5 else i for i in li]print(‘li2 = %s‘ % li2)# 輸出:li2 = [0, 1, 2, 3, 4, 5, 36, 49, 64, 81]
格式: [expr for iter_var in iterable if cond_expr] 
# 只取非None的元素li = [0, 1, 2, 3, 4, 5, None, 6, 7, 8, 9]li2 = [i for i in li if i is not None]print(‘li2 = %s‘ % li2)# 輸出:li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
格式: [expr for iter_var in iterable for var in iter_var] 
# 展開一個二維列表li = [[0, 1, 2], [3, 4, 5, 6], [7, 8, 9]]li2 = [j for i in li for j in i]print(‘li2 = %s‘ % li2)# 輸出:li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

串連列表中的元素(join)
li = [‘aaa‘, ‘bbb‘, ‘ccc‘, ‘ddd‘]li2 = ‘, ‘.join(li)print(‘li2 = %s‘ % li2)# 輸出:li2 = aaa, bbb, ccc, ddd
 

【Python】Python中的列表操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.