python基础 日常总结——列表(二)
上期回顧:列表(一)
列表高級操作
遍歷列表
正向:for 變量名 in 列表名:?
 ? ? ? ? ? ?????????變量名就是元素?
反向:for 索引名 in range(len(列表名)-1,-1,-1):
 ? ? ? ? ? ?????????列表名[索引名] 就是元素
? ? 一般是獲取反向的下標進行逆向。
【一般不通過切片完成,效率偏低,切片要重新創建一個列表】
list1=["蘋果", "香蕉", "西瓜", "草莓", "哈密瓜", "藍莓"] for i in range(len(list1)-1):print(list1[i])# 蘋果 # 香蕉 # 西瓜 # 草莓 # 哈密瓜 # 藍莓for i in list1:print(i)# 蘋果 # 香蕉 # 西瓜 # 草莓 # 哈密瓜 # 藍莓for j in range(len(list1)-1,-1,-1):print(list1[j])# 藍莓 # 哈密瓜 # 草莓 # 西瓜 # 香蕉 # 蘋果列表生成式
使用簡易方法,將可迭代對象轉換為列表。
變量 = [表達式 for 變量 in 可迭代對象]
 變量 = [表達式 for 變量 in 可迭代對象 if 條件]
【如果if真值表達式的布爾值為False,則可迭代對象生成的數據將被丟棄。】
li=[i for i in range(10)] print(li) li1=[i for i in range(10) if i%2==0] print(li1) li2=[f"_犬少-{i}號" for i in range(10) if i%2==0] print(li2)# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # [0, 2, 4, 6, 8] # ['_犬少-0號', '_犬少-2號', '_犬少-4號', '_犬少-6號', '_犬少-8號']列表推導式嵌套
變量 = [表達式 for 變量1 in 可迭代對象1 for 變量2 in 可迭代對象2]
list1=["犬","少"] list2=["加","油"] result = [r + c for r in list1 for c in list2] print(result)# ['犬加', '犬油', '少加', '少油']深淺拷貝?
淺拷貝:復制過程中,只復制一層變量,不會復制深層變量綁定的對象的復制過程。
- 列表.copy()? ? ? ? ? ? ? ? ? ? 【切片也是淺拷貝】
 
深拷貝:復制整個依賴的變量。
? ? ? ?import copy?
- 列表 = copy.deepcopy(列表1)
 
擴展:
is 和 == 的區別
- 如果 is 判斷相同,== 一定相同
 - 如果 == 判斷相同,is 不一定相同
 - == 比較的是值,is 比較的是內存地址
 
【小數據池:為了提高效率,在分配內存空間地址的時候,采用相同的內存地址】
 【int:-5~256,輸入的小于-5時,為false ;輸入的大于256時,為true? (pycharm的缺陷)】
 【字符串:""*20,大于20時,為false】
列表結束,不是很難,但很常用,小白還是要多多練習。
【發現有誤及時聯系】【喜歡記得點贊收藏?】【歡迎評論補充】
_犬少加油!日更沖鴨!
上期:列表(一)
總結
以上是生活随笔為你收集整理的python基础 日常总结——列表(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: java 能实现csgo吗
 - 下一篇: 【webview】微信和PC监听浏览器关