day2-元组 列表-赋值和深浅拷贝
一 元組
元組其實跟列表差不多,也是存一組數,只不是它一旦創建,便不能再修改,所以又叫只讀列表
用途:一般情況下用于自己寫的程序能存下數據,但是又希望這些數據不會被改變,比如:數據庫連接信息等
1. 定義元組
>>> tup = ('a','b','c','d')2. 訪問元組中的元素
>>> tup = ('a','b','c','d') >>> tup ('a', 'b', 'c', 'd') >>> tup[0] 'a' >>> tup[1] 'b' >>> tup[-1] 'd' View Code3. 統計(count(元素))
>>> tup = ('a','b','c','a','a') >>> tup.count('a') 34. 索引 (index(元素))
>>> tup = ('a','b','c','a','a') >>> tup.index('c') 2小結:
二 列表
列表是Python最常用的數據類型之一,通過列表可以對數據實現最方便的存儲,修改等操作。
1. 定義列表
>>> names = [] #定義空列表 >>> names = ['a','b','c'] #定義一個非空列表2. 訪問列表中的元素
>>> names ['a', 'b', 'c'] >>> names[0] 'a' >>> names[1] 'b' >>> names[2] 'c' >>> names[-1] #還可以倒著取 'c'注:列表中的下標值是從0開始取的
3. 切片
>>> names = ['apple','huawei','xiaomi','vivo'] >>> names[1:3] #取1到3之間的元素,包括1,不包括3 ['huawei', 'xiaomi'] >>> names[1:-1] #取1到-1之間的元素,包括1,不包括-1 ['huawei', 'xiaomi'] >>> names[0:3] ['apple', 'huawei', 'xiaomi'] >>> names[:3] #從頭開始取,0可以省略,效果等同于names[0:3] ['apple', 'huawei', 'xiaomi'] >>> names[2:] #想取到最后一個值,必須不能寫-1,只能這么寫 ['xiaomi', 'vivo'] >>> names[-3:-1] ['huawei', 'xiaomi'] >>> names[-3:] ['huawei', 'xiaomi', 'vivo'] >>> names[0::2] #后面的2表示:每隔一個元素就取一個 ['apple', 'xiaomi'] >>> names[::2] #從頭開始0可以省略,效果跟上一句一樣 ['apple', 'xiaomi'] View Code切片小結:
4. 追加(append(元素))
>>> names ['apple', 'huawei', 'xiaomi', 'vivo'] >>> names.append('oppo') >>> names ['apple', 'huawei', 'xiaomi', 'vivo', 'oppo'] #'oppo'是新加的元素 View Code5. 插入(insert(下標值,插入的內容))
>>> names ['apple', 'huawei', 'xiaomi', 'vivo', 'oppo'] >>> names.insert(0,'samsung') #0表示需要插入的下標值,'samsung'表示插入的內容 >>> names ['samsung', 'apple', 'huawei', 'xiaomi', 'vivo', 'oppo'] #在下標值為0的地方插入'samsung' >>> names.insert(4,'neizu') >>> names ['samsung', 'apple', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] View Code6. 修改
>>> names ['samsung', 'apple', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names[1] = 'chuizi' >>> names ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] View Code注:修改列表中的元素,直接是names[下標值] = 新元素
7. 拷貝(copy())
>>> names ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names2 = names.copy() >>> names2 ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] View Code注:這里的copy都是淺copy,只能copy第一層。深淺拷貝的詳細信息:python——賦值與深淺拷貝
8. 刪除(del , remove() , pop())
>>> names ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> del names[1] #根據下標值刪除元素 >>> names ['samsung', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names.remove('neizu') #根據元素刪除 >>> names ['samsung', 'huawei', 'xiaomi', 'vivo', 'oppo'] >>> names.pop() #刪除最后一個 'oppo' >>> names ['samsung', 'huawei', 'xiaomi', 'vivo'] >>> names.pop(0) #在輸入下標值的情況下和del的效果是一樣的,則是刪掉具體某個元素 'samsung' >>> names ['huawei', 'xiaomi', 'vivo'] >>> del names #刪除names這個變量 >>> names Traceback (most recent call last):File "<stdin>", line 1, in <module> NameError: name 'names' is not defined View Code9. 擴展(extend())
>>> names2 ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names1 = ['a','b','c','d'] >>> names1.extend(names2) >>> names1 ['a', 'b', 'c', 'd', 'samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] View Code注:names2 的列表合并到names1中,但是,names2列表依然存在,如果想刪除names2這個變量,則只需del names2即可
10. 統計(count())
>>> names1 ['a', 'b', 'c', 'd', 'samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names1.insert(5,'a') >>> names1 ['a', 'b', 'c', 'd', 'samsung', 'a', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names1.count('a') #統計'a'元素的個數 2 View Code11. 翻轉(reverse())
>>> names1 ['a', 'b', 'c', 'd', 'samsung', 'a', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names1.reverse() #將整個列表翻轉過來 >>> names1 ['oppo', 'vivo', 'neizu', 'xiaomi', 'huawei', 'chuizi', 'a', 'samsung', 'd', 'c', 'b', 'a'] View Code12. 排序(sort())
>>> names1 ['oppo', 'vivo', 'neizu', 'xiaomi', 'huawei', 'chuizi', 'a', 'samsung', 'd', 'c', 'b', 'a'] >>> names1.sort() >>> names1 ['a', 'a', 'b', 'c', 'chuizi', 'd', 'huawei', 'neizu', 'oppo', 'samsung', 'vivo', 'xiaomi'] View Code13. 獲取下標值(index('元素'))
>>> names1 ['a', 'a', 'b', 'c', 'chuizi', 'd', 'huawei', 'neizu', 'oppo', 'samsung', 'vivo', 'xiaomi'] >>> names1.index('a') 0 >>> names1.index('huawei') 6 View Code14. 清空列表(clear())
>>> names1 ['a', 'a', 'b', 'c', 'chuizi', 'd', 'huawei', 'neizu', 'oppo', 'samsung', 'vivo', 'xiaomi'] >>> names.clear() >>> names [] View Code?
轉載于:https://www.cnblogs.com/Easonlou/p/8124977.html
總結
以上是生活随笔為你收集整理的day2-元组 列表-赋值和深浅拷贝的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 概率校准与Brier分数
- 下一篇: 批量执行命令(SSH)