【Python】Python中的列表操作
生活随笔
收集整理的這篇文章主要介紹了
【Python】Python中的列表操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Python的列表操作可謂是功能強大且方便(相對于Java)
簡單、常規(guī)的操作就不說了(這不是一個入門教程),介紹幾個很有特點的例子
添加 # 追加到結尾(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 + li2 print('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]
# 根據(jù)索引刪除元素 del li[3] print('li = %s' % li) # 輸出:li = [1, 2, 4]
格式:?[start:end:step]?。記住這個格式后你就可以發(fā)揮想象了 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]
列表解析
根據(jù)已有列表,高效創(chuàng)建新列表的方式
格式:?[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的數(shù)才取平方。表達式也可以是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 ?
簡單、常規(guī)的操作就不說了(這不是一個入門教程),介紹幾個很有特點的例子
添加 # 追加到結尾(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 + li2 print('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]
# 根據(jù)索引刪除元素 del li[3] print('li = %s' % li) # 輸出:li = [1, 2, 4]
?
截取(又叫切片操作)格式:?[start:end:step]?。記住這個格式后你就可以發(fā)揮想象了 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]列表解析
根據(jù)已有列表,高效創(chuàng)建新列表的方式
格式:?[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的數(shù)才取平方。表達式也可以是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 ?
轉載于:https://www.cnblogs.com/yanglang/p/7992676.html
總結
以上是生活随笔為你收集整理的【Python】Python中的列表操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop配置学习
- 下一篇: websocket python爬虫_p