日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【python基础】——数据类型(列表、字典、集合)

發布時間:2023/12/10 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【python基础】——数据类型(列表、字典、集合) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

駿馬金龍——python語法基礎

python基礎

變量與運算

符號//%**
意義整除整除取余冪次方

數據種類

#mermaid-svg-7nSRRijcYFCYwTDr .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-7nSRRijcYFCYwTDr .label text{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr .node rect,#mermaid-svg-7nSRRijcYFCYwTDr .node circle,#mermaid-svg-7nSRRijcYFCYwTDr .node ellipse,#mermaid-svg-7nSRRijcYFCYwTDr .node polygon,#mermaid-svg-7nSRRijcYFCYwTDr .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-7nSRRijcYFCYwTDr .node .label{text-align:center;fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr .node.clickable{cursor:pointer}#mermaid-svg-7nSRRijcYFCYwTDr .arrowheadPath{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-7nSRRijcYFCYwTDr .flowchart-link{stroke:#333;fill:none}#mermaid-svg-7nSRRijcYFCYwTDr .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-7nSRRijcYFCYwTDr .edgeLabel rect{opacity:0.9}#mermaid-svg-7nSRRijcYFCYwTDr .edgeLabel span{color:#333}#mermaid-svg-7nSRRijcYFCYwTDr .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-7nSRRijcYFCYwTDr .cluster text{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-7nSRRijcYFCYwTDr .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-7nSRRijcYFCYwTDr text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-7nSRRijcYFCYwTDr .actor-line{stroke:grey}#mermaid-svg-7nSRRijcYFCYwTDr .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-7nSRRijcYFCYwTDr .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-7nSRRijcYFCYwTDr #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-7nSRRijcYFCYwTDr .sequenceNumber{fill:#fff}#mermaid-svg-7nSRRijcYFCYwTDr #sequencenumber{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr #crosshead path{fill:#333;stroke:#333}#mermaid-svg-7nSRRijcYFCYwTDr .messageText{fill:#333;stroke:#333}#mermaid-svg-7nSRRijcYFCYwTDr .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-7nSRRijcYFCYwTDr .labelText,#mermaid-svg-7nSRRijcYFCYwTDr .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-7nSRRijcYFCYwTDr .loopText,#mermaid-svg-7nSRRijcYFCYwTDr .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-7nSRRijcYFCYwTDr .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-7nSRRijcYFCYwTDr .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-7nSRRijcYFCYwTDr .noteText,#mermaid-svg-7nSRRijcYFCYwTDr .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-7nSRRijcYFCYwTDr .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-7nSRRijcYFCYwTDr .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-7nSRRijcYFCYwTDr .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-7nSRRijcYFCYwTDr .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr .section{stroke:none;opacity:0.2}#mermaid-svg-7nSRRijcYFCYwTDr .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-7nSRRijcYFCYwTDr .section2{fill:#fff400}#mermaid-svg-7nSRRijcYFCYwTDr .section1,#mermaid-svg-7nSRRijcYFCYwTDr .section3{fill:#fff;opacity:0.2}#mermaid-svg-7nSRRijcYFCYwTDr .sectionTitle0{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr .sectionTitle1{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr .sectionTitle2{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr .sectionTitle3{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-7nSRRijcYFCYwTDr .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr .grid path{stroke-width:0}#mermaid-svg-7nSRRijcYFCYwTDr .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-7nSRRijcYFCYwTDr .task{stroke-width:2}#mermaid-svg-7nSRRijcYFCYwTDr .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr .taskText:not([font-size]){font-size:11px}#mermaid-svg-7nSRRijcYFCYwTDr .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-7nSRRijcYFCYwTDr .task.clickable{cursor:pointer}#mermaid-svg-7nSRRijcYFCYwTDr .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-7nSRRijcYFCYwTDr .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-7nSRRijcYFCYwTDr .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-7nSRRijcYFCYwTDr .taskText0,#mermaid-svg-7nSRRijcYFCYwTDr .taskText1,#mermaid-svg-7nSRRijcYFCYwTDr .taskText2,#mermaid-svg-7nSRRijcYFCYwTDr .taskText3{fill:#fff}#mermaid-svg-7nSRRijcYFCYwTDr .task0,#mermaid-svg-7nSRRijcYFCYwTDr .task1,#mermaid-svg-7nSRRijcYFCYwTDr .task2,#mermaid-svg-7nSRRijcYFCYwTDr .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-7nSRRijcYFCYwTDr .taskTextOutside0,#mermaid-svg-7nSRRijcYFCYwTDr .taskTextOutside2{fill:#000}#mermaid-svg-7nSRRijcYFCYwTDr .taskTextOutside1,#mermaid-svg-7nSRRijcYFCYwTDr .taskTextOutside3{fill:#000}#mermaid-svg-7nSRRijcYFCYwTDr .active0,#mermaid-svg-7nSRRijcYFCYwTDr .active1,#mermaid-svg-7nSRRijcYFCYwTDr .active2,#mermaid-svg-7nSRRijcYFCYwTDr .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-7nSRRijcYFCYwTDr .activeText0,#mermaid-svg-7nSRRijcYFCYwTDr .activeText1,#mermaid-svg-7nSRRijcYFCYwTDr .activeText2,#mermaid-svg-7nSRRijcYFCYwTDr .activeText3{fill:#000 !important}#mermaid-svg-7nSRRijcYFCYwTDr .done0,#mermaid-svg-7nSRRijcYFCYwTDr .done1,#mermaid-svg-7nSRRijcYFCYwTDr .done2,#mermaid-svg-7nSRRijcYFCYwTDr .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-7nSRRijcYFCYwTDr .doneText0,#mermaid-svg-7nSRRijcYFCYwTDr .doneText1,#mermaid-svg-7nSRRijcYFCYwTDr .doneText2,#mermaid-svg-7nSRRijcYFCYwTDr .doneText3{fill:#000 !important}#mermaid-svg-7nSRRijcYFCYwTDr .crit0,#mermaid-svg-7nSRRijcYFCYwTDr .crit1,#mermaid-svg-7nSRRijcYFCYwTDr .crit2,#mermaid-svg-7nSRRijcYFCYwTDr .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-7nSRRijcYFCYwTDr .activeCrit0,#mermaid-svg-7nSRRijcYFCYwTDr .activeCrit1,#mermaid-svg-7nSRRijcYFCYwTDr .activeCrit2,#mermaid-svg-7nSRRijcYFCYwTDr .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-7nSRRijcYFCYwTDr .doneCrit0,#mermaid-svg-7nSRRijcYFCYwTDr .doneCrit1,#mermaid-svg-7nSRRijcYFCYwTDr .doneCrit2,#mermaid-svg-7nSRRijcYFCYwTDr .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-7nSRRijcYFCYwTDr .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-7nSRRijcYFCYwTDr .milestoneText{font-style:italic}#mermaid-svg-7nSRRijcYFCYwTDr .doneCritText0,#mermaid-svg-7nSRRijcYFCYwTDr .doneCritText1,#mermaid-svg-7nSRRijcYFCYwTDr .doneCritText2,#mermaid-svg-7nSRRijcYFCYwTDr .doneCritText3{fill:#000 !important}#mermaid-svg-7nSRRijcYFCYwTDr .activeCritText0,#mermaid-svg-7nSRRijcYFCYwTDr .activeCritText1,#mermaid-svg-7nSRRijcYFCYwTDr .activeCritText2,#mermaid-svg-7nSRRijcYFCYwTDr .activeCritText3{fill:#000 !important}#mermaid-svg-7nSRRijcYFCYwTDr .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-7nSRRijcYFCYwTDr g.classGroup text .title{font-weight:bolder}#mermaid-svg-7nSRRijcYFCYwTDr g.clickable{cursor:pointer}#mermaid-svg-7nSRRijcYFCYwTDr g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-7nSRRijcYFCYwTDr g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-7nSRRijcYFCYwTDr .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-7nSRRijcYFCYwTDr .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-7nSRRijcYFCYwTDr .dashed-line{stroke-dasharray:3}#mermaid-svg-7nSRRijcYFCYwTDr #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr .commit-id,#mermaid-svg-7nSRRijcYFCYwTDr .commit-msg,#mermaid-svg-7nSRRijcYFCYwTDr .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-7nSRRijcYFCYwTDr g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-7nSRRijcYFCYwTDr g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-7nSRRijcYFCYwTDr g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-7nSRRijcYFCYwTDr .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-7nSRRijcYFCYwTDr .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-7nSRRijcYFCYwTDr .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-7nSRRijcYFCYwTDr .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-7nSRRijcYFCYwTDr .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-7nSRRijcYFCYwTDr .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-7nSRRijcYFCYwTDr .edgeLabel text{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-7nSRRijcYFCYwTDr .node circle.state-start{fill:black;stroke:black}#mermaid-svg-7nSRRijcYFCYwTDr .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-7nSRRijcYFCYwTDr #statediagram-barbEnd{fill:#9370db}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-state .divider{stroke:#9370db}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-7nSRRijcYFCYwTDr .note-edge{stroke-dasharray:5}#mermaid-svg-7nSRRijcYFCYwTDr .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-7nSRRijcYFCYwTDr .error-icon{fill:#522}#mermaid-svg-7nSRRijcYFCYwTDr .error-text{fill:#522;stroke:#522}#mermaid-svg-7nSRRijcYFCYwTDr .edge-thickness-normal{stroke-width:2px}#mermaid-svg-7nSRRijcYFCYwTDr .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-7nSRRijcYFCYwTDr .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-7nSRRijcYFCYwTDr .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-7nSRRijcYFCYwTDr .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-7nSRRijcYFCYwTDr .marker{fill:#333}#mermaid-svg-7nSRRijcYFCYwTDr .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-7nSRRijcYFCYwTDr {color: rgba(0, 0, 0, 0.75);font: ;}數據類型序列-元素具有有序性非序列-元素無序性字符串str元組tuple列表list集合set字典dict元素不可變元素不可變元素可變元素可變元素可變

0. 序列

參考:python序列操作

序列(str、list、tuple)可以進行的操作:
通過索引取元素、切片操作、找出第一個元素的位置index()

可變序列(list)可以進行的操作:
**1) 刪除相關操作有del、remove()、pop()、clear()。
2)添加相關操作有append()、extend()、insert()、s *= n
3)拷貝序列copy()、反轉序列reverse()。
4) 注意:列表復制有三種

l0 = [1, 2, 3] print("l0_:",l0) l1 = l0 l2 = l0[:] l4 = l0*4 print("l4_:",l4) l3 = l0.copy() l0.append(1000) l1.append(0) print("l0:",l0) print("l1:",l1) print("l2:",l2) print("l3:",l3) print("l4:",l4)

l0_: [1, 2, 3]
l4_: [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
l0: [1, 2, 3, 1000, 0]
l1: [1, 2, 3, 1000, 0]
l2: [1, 2, 3]
l3: [1, 2, 3]
l4: [[1, 2, 3, 1000, 0], [1, 2, 3, 1000, 0], [1, 2, 3, 1000, 0], [1, 2, 3, 1000, 0]]
可見:因為可變序列引用的是地址,直接通過賦值的方式進行復制,只是將地址復制了,沒有真正地重新分配另一塊新的地址進行存放,所有當l0和l1任何一方進行改變的時候,都會導致地址的內容發生改變,因此l0和l1會發生改變,而l2,l3是通過copy等方式進行的深層復制,直接分配了一個新的地址進行存儲,因此不會隨l0改變而改變
l4是對列表進行復制,這樣引用的是地址嗎,導致后面也會出現隨動現象

不可變序列(tuple、str)可以進行的操作:
**hash(哈希映射操作):就是根據一定的規則將不可變的序列映射成另一個形式,可以簡單地理解為y = f(x)的形式,最常見的是將不可變序列hash成十進制的數字,一般映射關系是一一對應的

>>> hash("asd") -2014632507>>> hash((1,23)) 1320437575>>> hash([1,23]) Traceback (most recent call last):File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list'

能夠hash的不可變序列,意味著能作為dict的key,能保存到set或frozenset中


1. 列表

# ----------------------列表的創建------------------ l1 = list() l2 = [] print("l1:",l1) print("l2:",l2)

1). 添加元素:append()、extend()、insert()

append()、extend()——前者是將整個添加的對象作為一個整體添加而后者則是將可迭代對象的內層每一個元素單個添加

# ----------------------列表元素的添加--------------------- ## 直接在列表最后面進行元素的添加,append,extend for i in range(10):l1.append(i)l2.append(i+2) print("l1:",l1) print("l2:",l2) l1.extend(l2) print(l1)## 根據索引將元素插入到指定的位置,列表自動延長,該位置及以后的原來元素向后挪位置 l1 = [1,2,3] print("插入前:",l1) l1.insert(1,["插入的元素"]) print("插入后:",l1)

2). 刪除元素:remove()、pop()、del

# -----------------刪除元素------------# # 直接在列表末尾刪除元素, popl1 = [1,2,3] l1.pop() print(l1) ## 直接移除指定的元素,remove,若要移除的元素不存在報錯 l1 = [1,2,3 l1.remove(2) print(l1) del l1[1]

3). 其他操作:reverse()、index()、count()等

# ----------------其他----------------- ## 合并 print(l1 + l2) ## 查找第一個元素的索引 print(l1.index(1)) ## 反轉 print(l1.reverse()) ## 計數 print(l1.count(1))

注意:


2、字典——{key:value}形式的非序列容器無序數據結構

字典是無序的,和集合一樣,根據索引得到的元素和添加元素的順序是沒有關系的
> 如上圖所示,字典是一個通過鍵值對進行元素的存放的一個數據結構,key代表元素的唯一標簽。對于字典的操作都是先對key進行hash,然后根據hash值(可以理解為地址)去得到key和value的指針,如:
1)存放字典元素:根據key得到hash值,若hash值對應的指向value的指針不存在,則新創建key-value鍵值對,若存在,則將value值覆蓋為最新的值

1)創建字典

dict1 = {"1":"1","2":2,"3":3} dict2 = dict(one=1,two=2,three=3) dict3 = dict([('one',1),("two",2)]) dict4 = dict(zip(("one","two","three"),(1,2,3)))

{‘1’: ‘1’, ‘2’: 2, ‘3’: 3}
{‘one’: 1, ‘two’: 2, ‘three’: 3}
{‘one’: 1, ‘two’: 2}
{‘one’: 1, ‘two’: 2, ‘three’: 3}

在python中,能hashable的數據類型都必須是不可變類型的,所以列表、集合、字典不能作為dict的key,字符串、數值、元組都可以作為dict的key(類的對象實例也可以,因為自定義類的對象默認是不可變的)。

2)初始化字典

dict.fromkeys(序列,默認的字典值)

dict5 = dict.fromkeys("abcd,",2)

3)字典的拷貝

# ------------字典的拷貝-------------------- dict6 = dict1.copy() # 淺拷貝,只是將每一個key的地址給到了新字典 print(dict1) print(dict6) print(id(dict1["1"])) print(id(dict6["1"]))dict6["1"] = 4 # 但是在一個拷貝的字典中發生值的改變值,會為這個鍵新開辟一個地址用于存儲新的值 print(dict1) print(dict6) print(id(dict1["1"])) print(id(dict6["1"])) print(id(dict1["2"])) print(id(dict6["2"]))

{‘1’: ‘1’, ‘2’: 2, ‘3’: 3}
{‘1’: ‘1’, ‘2’: 2, ‘3’: 3}
1508279661712
1508279661712
{‘1’: ‘1’, ‘2’: 2, ‘3’: 3}
{‘1’: 4, ‘2’: 2, ‘3’: 3}
1508279661712
140712196691072
140712196691008
140712196691008

4)增刪改查

# --------------------字典的增刪改查------------------------- ## 查詢,根據key查找,不存在時會報錯,可以通過重寫字典類的__missing__方法來實現返回None dict7 = {"1":"1","2":2,"3":3} value = dict7["1"] ## 更新 dict7.update({"1":2,"4":5}) dict7["5"] = 6 ## pop類 print(dict7.pop("1")) print(dict7.popitem()) #按照 LIFO(Last In First Out 后進先出法 ## 刪除 dict7.update({"1":2,"4":5}) dict7["5"] = 6 del dict7["5"] dict7.clear()

5)獲得key,value和鍵值對

#--------------------獲得字典key,value,鍵值對,若想對其進行迭代取值,需要利用list進行解析dict8 = {"1":"1","2":2,"3":3} print(dict8.keys()) print(list(dict8.keys())) print(dict8.values()) print(dict8.items()) print(iter(dict8))

dict_keys([‘1’, ‘2’, ‘3’])
[‘1’, ‘2’, ‘3’]
dict_values([‘1’, 2, 3])
dict_items([(‘1’, ‘1’), (‘2’, 2), (‘3’, 3)])
<dict_keyiterator object at 0x0000015F2C7BD908>

3、集合set——無value版本的字典

無序、元素不重復、元素可變

1)創建

#創建 set1 = set() set2 = {1,2,3}

2)集合運算

# 集合運算 set3 = {1,2,3} set4 = {3,4,5,6} ## 交集 interset = set3&set4 interset2 = set3.intersection(set4) print(interset) print(interset2) ## 并集 union1 =set3|set4 union2 = set3.union(set4) print(union1) print(union2) ## 差集 diff1 = set3-set4 diff2 = set3.difference(set4) print(diff1) print(diff2) diff3 = set4-set3 diff4 = set4.difference(set3) print(diff3) print(diff4) ## XOR集合,非相交部分 xor1 = set3^set4 xor2 = set3.symmetric_difference(set4) print(xor1) print(xor2)

{3}
{3}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{1, 2}
{1, 2}
{4, 5, 6}
{4, 5, 6}
{1, 2, 4, 5, 6}
{1, 2, 4, 5, 6}

3)其他操作

set5 = {1,2,3,4,5} print(set5) set5.add(6) print(set5) set5.remove(6) print(set5) set5.pop() print(set5) set5.clear() print(set5)

{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5}
{2, 3, 4, 5}
set()

數據類型總結

數據類型元素支持類型元素可變性元素有序性查找元素的方法
字符串字符不可變有序根據下標索引
列表所有數據類型可變有序根據下標索引
字典鍵(key):不可變數據類型(tuple、str、字符、數值類型等)、可hash的數據類型;值(value):所有數據類型即可可變無序根據鍵key查找
集合所有數據類型(元素不重復)可變無序/
元組所有數據類型不可變有序根據下標索引

參考文獻

https://www.cnblogs.com/f-ck-need-u/p/9832640.html

總結

以上是生活随笔為你收集整理的【python基础】——数据类型(列表、字典、集合)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。