Python 學習日記第二篇 -- 列表,元組

一、列表

????列表是一個可以包含所以數據類型的對象的位置有序集合,它是可以改變的。

? ?1、列表的序列操作(Python3)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>>?one_list?=?[1,2,3,4]
>>>?two_list?=?["jonny","jery","david"]
#統計元素數量
>>>?len(one_list)
4
#索引,根據偏移量,左起從0開始,右起從-1開始
>>>?one_list[0]
1
>>>?one_list[-1]
4
#切片
>>>?one_list[0:2]
[1,?2]
>>>?one_list[:-1]
[1,?2,?3]
>>>?one_list[1:]
[2,?3,?4]
#步進,默認為1
>>>?one_list[::2]
[1,?3]
#擴展進來新的列表
>>>?new_list?=?one_list?+?two_list
>>>?print(new_list)
[1,?2,?3,?4,?'jonny',?'jery',?'david']

? ?

???2、列表的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#在列表中加入元素
>>>?one_list.append("join")
>>>?print(one_list)
[1,?2,?3,?4,?'join']
#查看元素在列表中的偏移量
>>>?one_list.index('join')
4
#統計元素在列表中出現的次數
>>>?one_list?=?[1,2,3,4,"join","jonny",3,4,2,45,32,"gg",45]
>>>?one_list.count(3)
2
#在列表中指定位置插入元素
>>>?one_list.insert(1,"insert_ele")
>>>?print(one_list)
[1,?'insert_ele',?2,?3,?4,?'join',?'jonny',?3,?4,?2,?45,?32,?'gg',?45]
#移除指定元素
>>>?one_list.remove("insert_ele")
>>>?print(one_list)
[1,?2,?3,?4,?'join',?'jonny',?3,?4,?2,?45,?32,?'gg',?45]
#通過附加來自可迭代的元素擴展列表(字符串,列表,元組等)
>>>?one_list.extend("extend")
>>>?print(one_list)
[1,?2,?3,?4,?'join',?'jonny',?3,?4,?2,?45,?32,?'gg',?45,?'e',?'x',?'t',?'e',?'n',?'d']
#移除指定偏移量的元素,不指定則為隨機移除
>>>?one_list?=?[1,2,3,4]
>>>?one_list.pop()
4
>>>?one_list.pop(1)
2
>>>?print(one_list)
[1,?3]
#根據ASCII碼排序,python2.X系列可對所有元素排序,3.X系列只能對相同類型元素排序
Python3.6
>>>?one_list?=?[3,6,2,8]
>>>?one_list.sort()
>>>?print(one_list)
[2,?3,?6,?8]
Python2.7
>>>?two_list?=?[3,6,4,7]
>>>?two_list.extend("djttdkx01")
>>>?print?two_list
[3,?6,?4,?7,?'d',?'j',?'t',?'t',?'d',?'k',?'x',?'0',?'1']
>>>?two_list.sort()
>>>?print?two_list
[3,?4,?6,?7,?'0',?'1',?'d',?'d',?'j',?'k',?'t',?'t',?'x']
#反轉列表
>>>?two_list.reverse()
>>>?print?two_list
['x',?'t',?'t',?'k',?'j',?'d',?'d',?'1',?'0',?7,?6,?4,?3]
#列表的復制方法一:復制第一級,對于嵌套的列表只是復制其引用位置
>>>?one_list?=?[1,2,3,4,[5,6,7,8]]
>>>?two_list?=?one_list[:]
>>>?print(two_list)
[1,?2,?3,?4,?[5,?6,?7,?8]]
>>>?id(one_list)
5697352
>>>?id(two_list)
50197576
#列表復制方法二:復制第一級,對于嵌套的列表只是復制其引用位置
>>>?three_list?=?one_list.copy()
>>>?print(three_list)
[1,?2,?3,?4,?[5,?6,?7,?8]]
>>>?id(three_list)
49960008
#列表復制方法三:copy模塊的深度復制
>>>?import?copy
>>>?four_list?=?copy.deepcopy(one_list)
>>>?print(four_list)
[1,?2,?3,?4,?[5,?6,?7,?8]]
>>>?one_list[4][0]?=?55
>>>?print(two_list)
[1,?2,?3,?4,?[55,?6,?7,?8]]
>>>?print(three_list)
[1,?2,?3,?4,?[55,?6,?7,?8]]
>>>?print(four_list)
[1,?2,?3,?4,?[5,?6,?7,?8]]


????3、列表的嵌套

1
2
3
4
5
>>>?one_list?=?[2,3,1,7,[2,"gg","david"],87,98]
>>>?one_list[4][1][1]
'g'
>>>?one_list[4][2]
'david'

? ??

? ? 4、列表解析

1
2
3
4
5
6
7
8
>>>?one_list?=?[[1,2,3],[4,5,6],[7,8,9]]
>>>?new_list?=?[row[0]?for?row?in?one_list]
>>>?print(new_list)
[1,?4,?7]
>>>?two_list?=?[row[1]?%?2?for?row?in?one_list]
>>>?print(two_list)
[0,?1,?0]

???5、練習

1
2
3
4
5
6
7
8
9
10
11
12
13
'''
練習:找列表中的9替換成9999
同時找出所有的34,全刪掉
'''
one_list?=?["jym","alex",9,"jonny","sun",3,6,7,8,2,3,1,9,34,543,43,32,34,"gg","jids"]
print(one_list)
for?i?in?range(one_list.count(9)):
????one_list?[one_list.index(9)]?=?9999
for?i?in?range(one_list.count(34)):
????del?one_list[one_list.index(34)]
print(one_list)

wKioL1ijNDKBMJpTAACNmLhvXlg809.png-wh_50



二、元組

? ?元組是不可改變的列表,編寫在圓括號中,支持任意類型,任意嵌套等常見操作

? ?1、元組的序列操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>>?one_tuple?=?(1,2,3,4)
#統計元素個數
>>>?len(one_tuple)
4
#元組附加
>>>?two_tuple?=?one_tuple?+?(5,6)
>>>?print(two_tuple)
(1,?2,?3,?4,?5,?6)
#索引
>>>?one_tuple[0]
1
>>>?one_tuple[-2]
3

? ?2、元組的方法

1
2
3
4
5
6
7
#查看元素在元組中的偏移量
>>>?one_tuple.index(2)
1
#統計元素在元組中出現的次數
>>>?one_tuple.count(2)
1

? ?3、元組的嵌套

????元組本身的元素是不可被修改的,但元組中嵌套的字典或列表的元素是可變的。

1
2
3
4
5
6
7
8
9
>>>?t1?=?(1,2,{'k1':'v1'})
>>>?t1[2]['k1']?=?'v2'
>>>?print(t1)
(1,?2,?{'k1':?'v2'})
>>>?t2?=?(1,2,[1,2])
>>>?t2[2][0]?=?'new1'
>>>?print(t2)
(1,?2,?['new1',?2])

? ?


本文轉自 元嬰期 51CTO博客,原文鏈接:http://blog.51cto.com/jiayimeng/1897851


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393088.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393088.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393088.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Gamma】PhyLab 測試報告

PhyLab Gamma測試報告 測試中發現的bug Gamma階段新Bug Bug可能原因部分錯誤碼設置與原先拋異常的邏輯沖突原先代碼中使用了一些特殊的辦法處理異常Beta未發現Bug Bug可能原因控制臺新建實驗編號不能以0開頭后端處理編號會將其前導0去除,以數字形式存儲,…

如何使用Node.js,Express和MongoDB設置GraphQL服務器

by Leonardo Maldonado萊昂納多馬爾多納多(Leonardo Maldonado) 如何使用Node.js,Express和MongoDB設置GraphQL服務器 (How to set up a GraphQL Server using Node.js, Express & MongoDB) 從GraphQL和MongoDB開始的最直接的方法。 (The most straightforward…

leetcode954. 二倍數對數組(treemap)

給定一個長度為偶數的整數數組 A&#xff0c;只有對 A 進行重組后可以滿足 “對于每個 0 < i < len(A) / 2&#xff0c;都有 A[2 * i 1] 2 * A[2 * i]” 時&#xff0c;返回 true&#xff1b;否則&#xff0c;返回 false。 示例 1&#xff1a; 輸入&#xff1a;[3,1,…

linux文件內容打印成二進制,如何在二進制文件中只打印可打印字符(相當于Linux下的字符串)?...

在Python3中&#xff0c;以二進制模式打開文件會得到bytes的結果。迭代一個bytes對象可以得到0到255(包括0到255)的整數&#xff0c;而不是字符。從^{} documentation&#xff1a;While bytes literals and representations are based on ASCII text, bytes objects actually b…

1098 均分紙牌

1098 均分紙牌 2002年NOIP全國聯賽提高組 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題目描述 Description有 N 堆紙牌&#xff0c;編號分別為 1&#xff0c;2&#xff0c;…, N。每堆上有若干張&#xff0c;但紙牌總數必為 N 的倍數。可以在任一堆上取若于張紙…

輕松學習分布式|系列3|分布式數據庫。

我們繼續來講分布式&#xff0c;回到我們的創業游戲。 我們的業務規模上來了&#xff0c;客戶也越來越忠誠了。很多客戶都通過我們的訂票服務&#xff0c;來方便自己的行程。 那對這些老客戶&#xff0c;我們的宗旨是&#xff1a;要不斷超越客戶的期待。 所以&#xff0c;我們要…

量子運算 簡單通俗例子_什么是量子計算機? 用一個簡單的例子解釋。

量子運算 簡單通俗例子by YK Sugi由YK Sugi 什么是量子計算機&#xff1f; 用一個簡單的例子解釋。 (What is a quantum computer? Explained with a simple example.) Hi everyone!嗨&#xff0c;大家好&#xff01; The other day, I visited D-Wave Systems in Vancouver…

linux增加端口失敗,端口沒被占用,怎么會bind失敗呢?

今天在一個服務器上部署一個webserver的時候&#xff0c;提示我bind端口失敗&#xff0c;我習慣性的用netstat看了下&#xff0c;沒有被占用啊&#xff01;把問題分享出來后&#xff0c;給力的同事們搜索到了ip_local_port_range這個東西這個東西對應的是/proc/sys/net/ipv4/ip…

leetcode面試題 17.15. 最長單詞

給定一組單詞words&#xff0c;編寫一個程序&#xff0c;找出其中的最長單詞&#xff0c;且該單詞由這組單詞中的其他單詞組合而成。若有多個長度相同的結果&#xff0c;返回其中字典序最小的一項&#xff0c;若沒有符合要求的單詞則返回空字符串。 示例&#xff1a; 輸入&am…

Restful API 設計

1. 簡介 目前 "互聯網軟件"從用客戶端/服務端模式&#xff0c;建立在分布式體系上&#xff0c;通過互聯網通訊&#xff0c;具有高延時、高開發等特點。但是軟件開發和網絡是兩個不同的領域&#xff0c;交集很少。要使得兩個融合&#xff0c;就要考慮如何在互聯網環境…

sql行數少于10_如何用少于100行的代碼創建生成藝術

sql行數少于10by Eric Davidson埃里克戴維森(Eric Davidson) 如何用少于100行的代碼創建生成藝術 (How to Create Generative Art In Less Than 100 Lines Of Code) Generative art, like any programming topic, can be intimidating if you’ve never tried it before. I’v…

安裝輸入發

直接在系統 ——系統管理 ——語言支持 選——中文從新啟動 sudo apt-get install scim-pinyin安裝JAVA環境支持 sudo apt-get install sun-java-jre()要是 apt -get 命令不能用 可能是你 的 源有問題 可以 更新一下 在系統 &#xff0d;系統管理 源設置 選這臺灣的 就可以 …

(第2篇)一篇文章教你輕松安裝hadoop

摘要: 這篇文章將會手把手教你安裝hadoop&#xff0c;只要你細心按照文章中的步驟操作&#xff0c;hadoop肯定能正確安裝&#xff0c;絕對不會讓你崩潰 博主福利 給大家贈送一套hadoop視頻課程 授課老師是百度 hadoop 核心架構師 內容包括hadoop入門、hadoop生態架構以及大型ha…

linux cpio到指定目錄,linux cpio命令存取歸檔包中的文件

功能描述使用cpio命令可以通過重定向的方式將文件進行打包備份及還原恢復&#xff0c;它可以解壓縮以“.cpio”或者“.tar”結尾的文件。命令語 法cpio [選項] [目標目錄]選項含義選項含義-o執行 copy-out 模式&#xff0c;建立備份檔。-i執行 copy-in 模式&#xff0c;還原備份…

leetcode劍指 Offer 20. 表示數值的字符串

請實現一個函數用來判斷字符串是否表示數值&#xff08;包括整數和小數&#xff09;。例如&#xff0c;字符串"100"、“5e2”、"-123"、“3.1416”、"-1E-16"、“0123"都表示數值&#xff0c;但"12e”、“1a3.14”、“1.2.3”、"…

python接口自動化2-發送post請求

前言 發送post的請求參考例子很簡單&#xff0c;實際遇到的情況卻是很復雜的&#xff0c;首先第一個post請求肯定是登錄了&#xff0c;但登錄是最難處理的。登錄問題解決了&#xff0c;后面都簡單了。 一、查看官方文檔 1.學習一個新的模塊&#xff0c;其實不用去百度什么的&am…

簡介瀏覽器內核與JavaScript引擎

本文介紹了常用瀏覽器內核與JavaScript引擎 一、瀏覽器內核 Rending Engine, 顧名思義&#xff0c;稱之為渲染網頁內容的&#xff0c;將網頁的代碼轉換為你看得見的頁面&#xff0c;因為是排版&#xff0c;所以排版&#xff0c;所以肯定會有排版錯誤等問題。為什么會有排版錯誤…

Linux查看tar實用程序,linux tar指令常用選項

linux的tar指令經常被用到&#xff0c;因為壓縮文件的時候通常需要打包文檔&#xff0c;而tar指令就是打包指令&#xff0c;同時gzip壓縮程序和bzip2壓縮程序都是支持tar指令的&#xff0c;所以tar指令在打包的同時還可以用gzip和bzip進行壓縮&#xff0c;這樣多文件可以打包的…

代碼字體mono_如何構建代碼存儲庫:Multi,Mono或Organic?

代碼字體monoby Chetan Sharma由Chetan Sharma 如何構建代碼存儲庫&#xff1a;Multi&#xff0c;Mono或Organic&#xff1f; (How to Structure Code Repositories: Multi, Mono, or Organic?) The newest debate in town is whether you should keep your services in a si…

leetcode1424. 對角線遍歷 II(排序)

給你一個列表 nums &#xff0c;里面每一個元素都是一個整數列表。請你依照下面各圖的規則&#xff0c;按順序返回 nums 中對角線上的整數。 示例 1&#xff1a; 輸入&#xff1a;nums [[1,2,3],[4,5,6],[7,8,9]] 輸出&#xff1a;[1,4,2,7,5,3,8,6,9] 代碼 class Solution …