最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python筆記之a(chǎn) = [0]*x格式的含義及說明

 更新時間:2022年05月13日 09:21:25   作者:SkyEscape  
這篇文章主要介紹了Python筆記之a(chǎn) = [0]*x格式的含義及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

python a = [0]*x格式的含義

a為一個含有x個字符串的列表

例如:

import sys
a = "12352523452334"
num = len(a)
k = int(num/3)
print(k)
sub = [0]*k
for i in range(k):
? ? sub[i] = a[i*3:i*3+3]
? ? isString = isinstance(sub,list)
? ? print(isString)
? ? print(sub[i])
print(len(sub))

4
True
123
True
525
True
234
True
523
4

python使用技巧與爬過的坑

1 dict的使用

python中的字典應(yīng)該是許多朋友常用的一種數(shù)據(jù)結(jié)構(gòu),其數(shù)據(jù)結(jié)構(gòu)如下:

{key: value}

這里主要列幾個字典使用的技巧。

1.1 dict的刪改查

其實(shí)對于dict的刪改查都需要用到查詢,比如改,就是先查詢到某個鍵值對,然后再做更改操作。

可能許多初學(xué)者對于字典的訪問是如下幾種方式:

for k, v in d.items():
?? ?balabala
for v in d.values():
?? ?balabala

其實(shí)這是一種特別浪費(fèi)性能的操作方式,因?yàn)閜ython中的dict是通過Hash方式來查詢鍵的。簡單來說就是查詢鍵的時間復(fù)雜度是O ( 1 ) O(1)O(1),而查詢值的時間復(fù)雜度是O ( n ) O(n)O(n)。放在代碼里面來說,就是:

for k in d.keys():

這種查詢方式是O ( 1 ) O(1)O(1)的時間復(fù)雜度,而:

for k, v in d.items():

或者:

for v in d.values():

是O ( n ) O(n)O(n)的時間復(fù)雜度。

所以為了節(jié)省查詢時間,我們?nèi)绻獙χ颠M(jìn)行操作,都是如下:

for k in d.keys():
?? ?val = d[k]

而python三大數(shù)據(jù)結(jié)構(gòu):列表、元組、字典,就只有字典的鍵的查詢是O ( 1 ) O(1)O(1)的時間復(fù)雜度,其余的都是O ( n ) O(n)O(n)的時間復(fù)雜度。

1.2 dict的鍵

既然上面已經(jīng)說到了dict的鍵是hash查詢的,所以dict的鍵有嚴(yán)格的要求,就是hashable的數(shù)據(jù)才能作為dict的鍵。

那么何為hashable?簡單來說,就是在運(yùn)行過程中不可修改的。

就比如列表就是可以修改的,因?yàn)榱斜砜梢噪S時進(jìn)行append等操作,字典也是可以修改的,比如隨時可以進(jìn)行pop等操作。

那么什么是hashable的呢?常用的字符串、數(shù)字這些都可以,還有一個數(shù)據(jù)結(jié)構(gòu)是hashable的,就是元組,因?yàn)樵M是無法被修改的。所以當(dāng)你想要存儲一組數(shù)據(jù)作為鍵值的時候,可以考慮將這組數(shù)據(jù)轉(zhuǎn)換成元組,畢竟list和dict是可以相互切換的嘛。

2 numpy

2.1 array

這是我最近編碼過程中遇到的一個坑,就是array的賦值操作。我們通常的賦值操作就是:

a = b

但是對于numpy的ndarray對象,這種賦值不僅會將值賦過去,還會把內(nèi)存地址賦值過去,比如如下代碼:

import numpy as np
a = np.array([1, 2, 3])
print("id(a):", id(a))
b = a
print("id(b):", id(b))
print(id(a) == id(b))

輸出結(jié)果如下:

id(a): 2721844244768
id(b): 2721844244768
True

也就是說,如果你只是使用a = b這種操作,那么你在對b進(jìn)行操作的時候也會更改a,但是如果在某個使用場景,你需要對b進(jìn)行操作,但是不改變a,那么要用如下的代碼(b = a.copy()):

import numpy as np
a = np.array([1, 2, 3])
print("id(a):", id(a))
b = a.copy()
print("id(b):", id(b))
print(id(a) == id(b))

輸出結(jié)果:

id(a): 1549742256336
id(b): 1549742141968
False

3 文件操作

3.1 pickle

pickle是大家常用的一個文件,最大的優(yōu)點(diǎn)在于什么東西存儲進(jìn)去,就可以讀取什么東西出來。

pickle是以二進(jìn)制方式進(jìn)行存儲與讀取的,比如下面的栗子:

import pickle
with open(filepath_1, 'rb') as f:
?? ?file = pickle.load(f)
with open(filepath_2, 'wb') as f:
?? ?pickle.dump(file, f)

但是可能有許多初學(xué)者會在寫入pickle的時候選擇追加方式寫入(比如爬蟲中斷等情況),但是這種方式是不可行的。因?yàn)閜ickle是二進(jìn)制操作,如果以追加方式寫入,那么你在讀取的時候只能讀取到第一次寫入的內(nèi)容,之后的內(nèi)容是無法讀取的。

那么在這種有可能因?yàn)橹袛嗟仍蛐枰恢碧砑觾?nèi)容到pkl里面,我比較推薦分成不同份的文件進(jìn)行保存,既可以保證文件能夠正常的讀取,也不用擔(dān)心因?yàn)槌绦蛑袛喽鴮?dǎo)致需要重新執(zhí)行的問題。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python IP地址轉(zhuǎn)整數(shù)

    python IP地址轉(zhuǎn)整數(shù)

    這篇文章主要介紹了python 如何將IP 地址轉(zhuǎn)整數(shù),幫助大家了解轉(zhuǎn)換的原理與收益,更好的理解python,感興趣的朋友可以了解下
    2020-11-11
  • 使用Python編寫簡單的畫圖板程序的示例教程

    使用Python編寫簡單的畫圖板程序的示例教程

    這篇文章主要介紹了使用Python編寫簡單的畫圖板軟件的示例教程,利用到了經(jīng)常被用來做游戲的pygame模塊,需要的朋友可以參考下
    2015-12-12
  • Python圖片的橫坐標(biāo)漢字實(shí)例

    Python圖片的橫坐標(biāo)漢字實(shí)例

    今天小編就為大家分享一篇Python圖片的橫坐標(biāo)漢字實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python TestCase中的斷言方法介紹

    Python TestCase中的斷言方法介紹

    這篇文章主要給大家介紹了關(guān)于Python TestCase中的斷言方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python GUI庫圖形界面開發(fā)之PyQt5打開保存對話框QFileDialog詳細(xì)使用方法與實(shí)例

    python GUI庫圖形界面開發(fā)之PyQt5打開保存對話框QFileDialog詳細(xì)使用方法與實(shí)例

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5打開保存對話框QFileDialog詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下
    2020-02-02
  • python tornado獲取請求參數(shù)的方法

    python tornado獲取請求參數(shù)的方法

    在Tornado框架中,獲取請求參數(shù)包括查詢字符串參數(shù)、表單數(shù)據(jù)和JSON數(shù)據(jù)等,JSON數(shù)據(jù)通過直接訪問self.request.json獲取,正確處理這些數(shù)據(jù)需要注意請求的Content-Type和數(shù)據(jù)格式,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Python Opencv實(shí)現(xiàn)圖像輪廓識別功能

    Python Opencv實(shí)現(xiàn)圖像輪廓識別功能

    這篇文章主要為大家詳細(xì)介紹了Python Opencv實(shí)現(xiàn)圖像輪廓識別功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Django shell調(diào)試models輸出的SQL語句方法

    Django shell調(diào)試models輸出的SQL語句方法

    今天小編就為大家分享一篇Django shell調(diào)試models輸出的SQL語句方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python+OpenCV讀寫視頻的方法詳解

    Python+OpenCV讀寫視頻的方法詳解

    這篇文章主要為大家詳細(xì)介紹了Python+OpenCV進(jìn)行讀寫視頻操作的示例代碼,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手嘗試一下
    2022-08-08
  • python+numpy+matplotalib實(shí)現(xiàn)梯度下降法

    python+numpy+matplotalib實(shí)現(xiàn)梯度下降法

    這篇文章主要為大家詳細(xì)介紹了python+numpy+matplotalib實(shí)現(xiàn)梯度下降法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08

最新評論

玛纳斯县| 桓台县| 潜山县| 吉水县| 丹凤县| 海城市| 平湖市| 泸水县| 库尔勒市| 崇阳县| 浙江省| 铁岭县| 木兰县| 八宿县| 胶南市| 昭觉县| 郯城县| 达尔| 石城县| 榆林市| 灵璧县| 澄江县| 河津市| 保靖县| 汽车| 临泽县| 仪征市| 甘泉县| 林芝县| 武陟县| 延长县| 古丈县| 柏乡县| 永清县| 华宁县| 武隆县| 金乡县| 晴隆县| 错那县| 政和县| 康乐县|