Python 列表元組字典集合

列表(list)

  • 有序性,可存儲任意類型的值
  • 通過偏移存取,支持索引來讀取元素,第一個索引為0 ,倒數第一個索引為-1
  • 可變性 ,支持切片、合并、刪除等操作
  • 可通過索引來向指定位置插入元素
  • 可通過pop()方法刪除末尾元素,pop(索引位置)來刪除指定位置元素
  • 替換元素可直接通過賦值給對應的的索引位置
 1 classMates = ['zhangsan','lisi','wangwu']
 2 print(classMates[0])  #通過索引來獲取元素
 3 print(classMates[-1])  #列表元素的所因為-1的為最后一個元素
 4 classMates.append('chenliu')   #在列表末尾追加元素
 5 print(classMates)
 6 classMates.insert(1,'chenyi')  #通過insert函數 用索引號來指定插入元素位數
 7 print(classMates)
 8 classMates.pop()  #彈出元素 默認為最后一個元素
 9 print(classMates)
10 classMates.pop(1) #通過指定索引刪除元素
11 print(classMates)
12 classMates[0] = 'sanduo' #通過賦值,直接把索引為0的元素給替換掉
13 print(classMates)
14 
15 s = ['python',123,True]  #列表可以存放不同數據類型的元素
16 L = ['man','woman',['python',123,]]  #列表元素也可以為其他列表
17 print(L)
18 
19 
20 L = [
21     ['Apple', 'Google', 'Microsoft'],
22     ['Java', 'Python', 'Ruby', 'PHP'],
23     ['Adam', 'Bart', 'Lisa']]
24 print(L[0][0])  #通過索引來打印元素Apple

元組(tuple)

  • 有序性,和列表一樣通過偏移存取,支持用索引來讀取元素
  • 不可變性,不支持任何修改及任何調用
  • tuple可作為字典的key,可用于字符串格式化中
1 classMates = ('lisa','rom','bobi')
2 t = (1,)  #在顯示只有一個元素的元組時,會在后面加一個逗號
3 print(t)

字典 (dictionary)

  • 無序可變的,屬于科扁映射類型
  • 采用鍵值對(key-value )進行存儲,查找速度較快
  • 可以通過pop.() 來進行刪除鍵,所對應的value也會被刪除
  • 除了初始化字典時存放數據,還可通過 dict['key'] = value 來存放
  • 鍵為固定的不可變的,只能對應一個value,多次對一個key放入value,后面的值被頂替前面的值
  • 需要占用大量內存 ,浪費內存
 1 dictOne = {'zhangsan': 95,'lisi': 87,'wangwu':76}
 2 print(dictOne['wangwu'])
 3 dictOne['sanduo'] = 100  #把數據放入dict的方法,除了初始化時指定外,還可以通過key放入
 4 print(dictOne['sanduo']) 
 5 dictOne['sanduo'] = 98  #重復給一個key賦值,后面的值會把前面的值代替
 6 print(dictOne['sanduo'])
 7 dictOne['xiaozhang'] = 67
 8 print(dictOne)
 9 print('sanduo'in dictOne )  #用 in 判斷key在列表中是否存在
10 print(dictOne.get('sanduo',-1))
11 print(dictOne.get('wanwu',-1))  #通過get() 如果key不存在,可以返回None,或者自己指定的 value
12 dictOne.pop('zhangsan')  #通過pop.() 刪除字典的鍵,同時對應的value也會被刪除
13 print(dictOne) 

?

集合(set)

  • 無序性、無重復key
  • 創建set,需要提供一個list作為輸入集合
  • 通過add(key)方法添加元素
  • 通過remove(key)刪除元素
  • 不可以放入可變對象例如 list
 1 setFirst = set([2,3,4,6,5])  # 創建set 需要提供一個list作為輸入集合
 2 print(setFirst) 
 3 
 4 setSecond = set([1,2,2,3,4,3])  #set 自動過濾掉重復元素
 5 print(setSecond) 
 6 setSecond.add(9)  #通過add.()來添加元素到set中
 7 print(setSecond) 
 8 setSecond.remove(4)  #通過remove.()來刪除元素
 9 print(setSecond)
10 
11 firstList = [1,2,3,3,3,5,6,6,6,9]
12 print(list(set(firstList)))   #利用set來過濾掉重復元素 
13 
14 s1 = set([1,2,3])
15 s2 = set([2,3,4])
16 print(s1 & s2)  #做交集運算
17 print(s1 | s2)  #做并級運算

?

轉載于:https://www.cnblogs.com/strive99/p/10164611.html

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

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

相關文章

ios兼容問題

滑動卡頓: -webkit-overflow-scrolling:touch; 轉載于:https://www.cnblogs.com/smzd/p/7891722.html

postgresql 高可用 etcd + patroni 之二 patroni

os: centos 7.4 postgresql: 9.6.9 etcd: 3.2.18 patroni: 1.4.4 patroni etcd 是在一個postgrsql 開源大會上 亞信的一個哥們講解的高可用方案。 依然是基于 postgreql stream replication。 ip規劃 192.168.56.101 node1 master 192.168.56.102 node2 slave 192.168.56.103 …

vue對象偵測

http://blog.csdn.net/yihanzhi/article/details/74200618 數組:this.$set(this.arr,index,value) 轉載于:https://www.cnblogs.com/smzd/p/8390626.html

Laravel 5.4 migrate時報錯: Specified key was too long error

Laravel 5.4默認使用utf8mb4字符編碼,而不是之前的utf8編碼。因此運行php artisan migrate 會出現如下錯誤: [Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key leng…

springboot工具類

ClassPathResource 在類路徑下讀取資源 public final String getPath() public boolean exists() public InputStream getInputStream() WebUtils 獲取web資源工具類 public static String getRealPath(ServletContext servletContext, String path) public static Object g…

MySQL中事物的詳解

1. 事物的定義及特性 事務是一組操作數據庫的SQL語句組成的工作單元,該工作單元中所有操作要么同時成功,要么同時失敗。事物有如下四個特性,ACID簡稱“酸性”。 1)原子性:工作單元中所有的操作要么都成功,要…

記了老是忘記那就寫下來吧宏任務微任務

宏任務:script 定時器 微任務:promiss process.nexttick new Promise(function(resolve){console.log(3);//此為同步程序resolve();//同步 是否異步 由內部函數決定console.log(4); }).then(function(){ //。then 異步console.log(5); });async function…

SPRING自定義注入CONTROLLER變量

問題描述 在SpringMVC中默認可以注入Model,ModelAndView,RequestParam,PathVariable 等,那么這個是怎么實現的,以及怎么注入一個自定義的參數呢 HandlerMethodArgumentResolver 在SpringMVC中有一個接口HandlerMethod…

進程,線程

import os, timeif __name__ __main__:print(the calling process id:%d % os.getpid())# 創建進程pid os.fork()if pid 0:# 子進程print(the child pid is %d % os.getpid())time.sleep(3)elif pid > 0:# 父進程os.wait() # 等待子進程終止print([%d]bye-bye % os.getpi…

livebos--iframe使用

新建一個方法。建一個參數&#xff0c;iframe控件&#xff0c;虛擬列。然后使用以下信息 <% livebos languagejavascript %>var url LB_ObjURI("Lb_lbOrganization",0,[],["NoTitle"]);var v {"edit" : "url ", "view"…

單行溢出 和多行溢出

/*單行溢出*/.one_txt_cut{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}.txt_cut{overflow : hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}轉載于:https://www.cnblogs.com/smzd/p/8491583…

Spring方法注入 @Lookup注解使用

情景分析 在Spring的諸多應用場景中bean都是單例形式&#xff0c;當一個單利bean需要和一個非單利bean組合使用或者一個非單利bean和另一個非單利bean組合使用時&#xff0c;我們通常都是將依賴以屬性的方式放到bean中來引用&#xff0c;然后以Autowired來標記需要注入的屬性。…

Jupyter配置步驟

Jupyter是基于瀏覽器的可交互式開發工具&#xff0c;在數據科學界非常受歡迎&#xff0c;它功能齊全&#xff0c;使用方便&#xff0c;是一款數據分析和建模挖掘的利器。 本文簡介Jupyter的配置和使用過程 一、修改添加國內鏡像 通常我會先安裝Anaconda&#xff0c;再安裝Jupyt…

edittext 屬性

1.去掉edittext的底線&#xff0c;設置&#xff0c;不管是edittext&#xff0c;還是appcompatEdittext都是這個屬性 轉載于:https://www.cnblogs.com/hechangshou/p/9301004.html

定義高亮顏色

/*怎么定義高亮的顏色*/-webkit-tap-highlight-color: transparent;/*透明 其實就是不顯示顏色*/-webkit-tap-highlight-color: red; 轉載于:https://www.cnblogs.com/smzd/p/8491587.html

springboot 配置webservice接口

導入依賴的jar <!-- webservice cxf --><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>3.1.6</version></dependency><dependency><groupId>org…

【Django】認證系統

目錄 #. auth模塊1. 認證 authenticate()2. 登陸 login(HttpRequest, user)3. 注銷 logout(request)4. 認證判斷 is_authenticated()5. 登陸校驗 login_requierd()6. 創建普通用戶 create_user()7. 創建超級用戶 create_superuser()8. 密碼校驗 check_password(password)9. 修改…

學習的目的是什么?

學習的目的是為了掌握生存的常識和技能&#xff0c;以便獨立地面對世界&#xff1b; 學習的目的是為了遵從生活的規范和律則&#xff0c;以便和諧地與人相處&#xff1b; 學習的目的是為了探索生命的價值和意義&#xff0c;以便有尊嚴地立于天地之間。 你覺得為什么要學習呢&am…

span里面插入文字

.text-box span::before{ content:attr(data-text);} 轉載于:https://www.cnblogs.com/smzd/p/8491664.html

Spring Boot 動態注入的兩種方式

通過Profilespring.profiles.active spring.profiles.active&#xff1a;官方解釋是激活不同環境下的配置文件&#xff0c;但是實際測試發現沒有對應的配置文件也是可以正常執行的。那就可以把這個key當作一個參數來使用 Profile&#xff1a;spring.profiles.active中激活某配…