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