python資料類型的隨筆,關於list,dict和set

來源:互聯網
上載者:User

標籤:表名   關係   diff   sub   建議   ase   asasas   rate   .so   

list的概念:
#是一種有序數組集合
l=[‘cris’,‘make’,‘lie’ ]
#一般索引是從0開始
len(l)可以返回數組的長度
想要添加元素可以用
l.append(“cris”)#把元素添加到數組的末尾
l.insert(1,“cris”)#把元素插入到指定索引的位置
l.pop(索引)#可以刪除元素,並傳回值 “cris”不寫索引預設刪除最後一個元素
l.remove(‘元素‘)#刪除元素
del l[索引]#刪除元素
l[1]="cris"#替換第二個元素
l.extand(列表名)#將兩個列表拓展為一個列表
l.reverse()#反轉列表
l.sort()#排序
for i,j in enumerate(li,100): #這個函數可以列印list元素的系列號和元素,預設是0開始也可以指定開始序號如100
    print(i,"---",j)

tuple的概念:
tuple又名元祖,和list相似不過初始化了就不能修改
list(tuple)可以轉換為列表
tuple(list)可以轉化為元祖


dict的概念:
#dict我稱其為索引值對,又稱為字典,kye必須是唯一的,字典是無序的,其文法如下(部分list文法也適用於dict)
d = {‘Michael‘: 95,‘Bob:‘ 75,‘Tracy‘:85}
#可以調用相應的key(鍵)來擷取對應的value(值)
d[‘Michael‘]
95
#可以通過以下方式判斷這個值是否再dict中
‘cris’ in d
不在則返回flase
#也可以通過get方法,值不在返回None(建議用這個取值)
d.get(‘cris‘)可以返回None或者指定返回value比如-1
d.get(‘cris‘,-1)
#append()方法也可以增加元素
#如果要刪除一個字典元素可以用pop方法,其key和value都會刪除
d.pop(‘Bob‘)
返回75
#如果元素不存在則會報錯可以設定一個預設值這樣就不會報錯了
d.pop(‘sasasas‘None)
返回None
#另一個判斷是否存在文法
print(‘sasasas‘ in d)
在返回True不在返回Flase
#查詢所有的Key
print(d.keys())
#查詢所有的value
print(d.values())
#合并兩個字典如果有重複元素用新的取代
d.update(dict2)
d.fromkeys([1,2,3],{"b"})


set的概念:
dir(set)命令查看所有方法
#set和dict類似,是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。  集合還有關係測試功能
set內的資料都是不可變類型

s = set([1, 1, 2, 2, 3, 3])
>>s
{1,2,3}
通過add(key)方法可以添加元素到set中,可以重複添加,但不會有效果:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通過remove(key)方法可以刪除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}
#兩個set合并
set.update(set2)

#求差集並賦值集合
set3=set.difference(set2)

#丟棄刪除元素(注意:如果沒有不會報錯)
set.discard(元素)

#刪除元素(如果沒有會報錯)
set.remove(元素)

#判斷是否是另一個的子集(就是是否其中一個包含前者所有元素)
set.issubset(set2)

#判斷是否是另一個的父集
set1.issuperset(set)

#set的特殊功能:關係測試(以下只是測試結果並不會修改結果)
dir(set)命令查看所有方法
#交集 測試兩個都有
print(set1.intersection(ste2))
print(linux & python)
#差集 在列表a裡有,b裡沒有
print(set1.differebce(set2))
print(set1 - set2)
#並集 把兩個列表裡的元素合并在一起,去除重複的
print(set1.union(set2))
print(set1 | set2)
#對稱差集,就是列印對方都沒有的元素
print(set1.symmetric_difference(set2))
print(set1^set2)

python資料類型的隨筆,關於list,dict和set

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.