亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python中一些常用知識點

系統 1815 0

整理python中一些常用的,容易忘記的知識點,持續更新。。。

1. is == 區別

簡單來說is是比較兩個對象的占用內存地址是否相同,而==是比較兩個對象的值是否相等
參考:https://www.cnblogs.com/kiko0o0/p/8135184.html

2. 深復制與淺復制

淺復制僅僅是賦值了對象的最外面一層,對象中嵌套的可變對象沒有被賦值。深復制就是賦值對象中所有的元素。
注:切片操作與copy都是淺復制,deepcopy是深復制
參考:https://www.cnblogs.com/pinpin/p/9865228.html


3. 常用的一些數據結構
3.1 棧與隊列

3.1.1 用python中的列表來實現棧與隊列

            
              list = []
for i in range(1, 4):
    list.append(i) #LIFO 后進先出,相當于棧
a = list.pop() #等價于 a = list.pop(-1)
print(list, a)

b = list.pop(0) #FIFO 先進后出,相當于隊列
print(list, b)

            
          

3.1.2 python中自帶的數據結構Queue

            
              # Queue.Queue(maxsize=0) #創建隊列,FIFO, 如果maxsize小于1就表示隊列長度無限。
# Queue.LifoQueue(maxsize=0) #創建棧,LIFO, 如果maxsize小于1就表示隊列長度無限。
# Queue.qsize() #返回隊列的大小
# Queue.empty() #如果隊列為空,返回True,反之False
# Queue.full() #如果隊列滿了,返回True,反之False
# Queue.get([block[, timeout]]) #出隊,讀隊列,timeout等待時間。非阻塞get_nowait(),相當于get(block=False)
# Queue.put(item, [block[, timeout]]) #入隊,寫隊列,timeout等待時間。非阻塞put_nowait(),相當于put("xxx",block=False)
# Queue.queue.clear() #清空隊列


from queue import Queue
from queue import LifoQueue

q = Queue() #FIFO 隊列
for i in range(1, 4):
    q.put(i)

while not q.empty():
    print(q.get())



s = LifoQueue() #LIFO 棧
for i in range(1, 4):
    s.put(i)

while not s.empty():
    print(s.get())

            
          

3.2 列表
            
              list = []
list.append(1) #添加元素
list.index(1) #返回指定元素的下標,如果該元素不存在會報錯
val = list.pop() #去掉列表中的最后一個值,等價于list.pop(-1)
val = list.pop(0) #去掉列表中的第一個值
list.remove(val) #移除列表中值為val的元素
list.insert(index, val) #在下標index之前插入val
cnt = list.count(val) #返回列表中值為val的元素個數

            
          

3.3 字典dict
            
              dict = {1:'a', 2:'b', 3:'c', 4:'d'}

dict.get(1, 'not found') #在dict查找key為1的value,找不到返回'not found'
del dict[4] #刪除dict中key為4的那個元素
dict.clear() #清空字典

#判斷key是否存在與字典中
key in dict #或者key in dict.keys()

            
          

3.4 set集合
            
              s = set(['a', 'b', 'c', 1, 2, 3])
s.add(4) #添加元素
s.clear() #清空集合
s1 = s.copy() #復制,改變s1不會影響s
s.remove(1) #移除元素,如果要移除的元素不存在則會報錯
s.discard(1) #移除元素,如果要移除的元素不存在不會報錯

s1 = set('acac')
s1 & s #交集
s1 | s #并集
s1 - s #差集

            
          

3.5 字符串
            
              s = "abcde"
s.find('abc', 0, len(s)) #在s中從[0,len(s))查找子串'abc', 返回子串在s中第一次出現的起始位置,找不到返回-1
s.index('abc', 0, len(s)) #在s中從[0,len(s))查找子串'abc', 返回子串在s中第一次出現的起始位置,找不到拋出異常
s.rfind('abc', 0, len(s)) #在s中從[0,len(s))查找子串'abc', 返回子串在s中最后一次出現的起始位置,找不到拋出異常

            
          
4. * ** zip的用法

星號的用法相當于解壓,與zip相反

在列表前面加*相當于將列表中的元素解開為獨立的變量傳入函數之中,同樣適用于numpy中的array

            
              list = [1, 2]
print(*list)

def f(a, b):
    print(a+b)
f(*list)

            
          

在字典前加**相當于將字典的各個value傳入函數

            
              data = {'a' : 4, 'b' : 3}
print(*data) #輸出key

def f(a, b):
    print(a+b)
f(**data)

            
          

zip將可迭代的對象作為參數,返回這些對象元素依次組成的元組

            
              a = [1, 2, 3]
b = [4, 5, 6]
print(list(zip(a, b)))
print(list(zip(*zip(a, b))))

            
          

同樣適用于字典,對于字典用的是字典的key

            
              a= {1: 1, 2: 2}  
b = {3: 3, 4: 4}
c = {5: 5, 6: 6}
print(list(zip(a, b, c)))
print(list(zip(*zip(a, b, c))))

            
          

用于循環語句

            
              a = [2, 3, 4]
b = [4, 5, 6]
for x, y in zip(a, b):
    print(x, y)

            
          

參考:
https://www.cnblogs.com/wushuaishuai/p/7766470.html
https://blog.csdn.net/weixin_40877427/article/details/82931899
https://blog.csdn.net/breeze_blows/article/details/90475922
https://blog.csdn.net/liuweizj12/article/details/79893673


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日不卡在线 | 精品一区二区久久久久久久网精 | 欧美理论在线观看 | 中文字幕不卡一区2021 | 免费亚洲网站 | 国产成人精品免费久久久久 | 国产欧美一区二区三区精品 | 在线精品视频成人网 | 亚洲精品国产综合一线久久 | 欧美一级欧美三级在线观看 | 亚洲第一成年网 | 日产精品一二三四区国产 | a一级毛片免费高清在线 | 国产手机在线视频放线视频 | 久久草在线观看 | 欧美成人免费毛片 | 91精品成人福利在线播放 | 国产在线91精品入口首页 | 久草视频在线看 | 亚洲精品专区一区二区三区 | 一区二区三区中文 | japanese国产高清麻豆 | 91在线精品亚洲一区二区 | 久久亚洲精品中文字幕三区 | 日本高清视频一区二区 | 久久久91精品国产一区二区三区 | 精品伊人久久久99热这里只 | 色91在线| 91尤物在线 | 激情久久久久久久久久久 | 欧美一区二区三区在线视频 | 久久97久久97精品免视看清纯 | 中国漂亮护士一级毛片 | 一道本一区二区三区 | 女人18级毛片久久 | 欧美毛片网 | 久久久精品2021免费观看 | 九九视频免费看 | 日韩一区二区三区在线观看 | 久草这里只有精品 | 香蕉亚洲精品一区二区 |