python copy模組 待優化的功能

2021-09-24 18:54:59 字數 2352 閱讀 6290

deep2type是乙個字典,point_dict = deep2type之後,如果修改point_dict,也會對deep2type造成影響,請問如何解決

可以通過深度複製的方法,把源資料複製,得到乙個新的資料物件,操作新資料物件不會影響到源資料,詳情如下:

import copy

point_dict = copy.deepcopy(deep2type)

用法格式

import copy

轉殖體 = copy.deepcopy(資料來源)

當我從檔案一級路徑向上返回了一級,

3,應該設定為none, 此處需修改

深度為0的資料,已修復

當某乙個特定的情況發生時,不希望繼續後面的內容,要跳過本次迴圈,進入到下一輪迴圈

while 條件:

if 條件2:

continue

問題,初始資料被修改了

原因

全部的可變資料型別

字典,列表

**

d = 

m = d # point_dict = self.deep2type # point_dict = {}

print(id(m), id(d))

m["age"] = 18

d["gender"] = "男"

print(m, d)

ul = [1,2,3]

ol = ul

print("ul",ul)

print("ol",ol)

效果

c:\users\python_hui\anaconda3\python.exe g:/專案-每日日考/1.py

2468375265784 2468375265784

ul [1, 2, 3, 99]

ol [1, 2, 3, 99]

process finished with exit code 0

不可變資料型別的賦值

用法

import copy

轉殖體 = copy.deepcopy(資料來源)

一般要複製的資料來源,是可變的資料型別,比如字典,或列表型別

轉殖體與資料來源有一模一樣的資料

如果後面對轉殖體進行操作,不會影響到資料來源

**

d = 

import copy

m = copy.deepcopy(d) # m是乙個d資料的轉殖體,但是m是另乙個資料實體了

print(id(m), id(d))

m["age"] = 18

print(m, d)

結果

c:\users\python_hui\anaconda3\python.exe g:/專案-每日日考/1.py

2609706184136 2609688646136

process finished with exit code 0

深度為3向上一級返回的時候,深度應該為2, 並且 deep2type的3的值應該為none

最簡單的實現

檔案物件.data = 【題目1,題目n】

直接使用隨機模組,sample選出題目

從已選的出題的題庫中,選出五題目來

wenda_list = random.sample(self.data, 5)
學生物件有乙個get_wenda方法

在該方法中,會建立乙個檔案物件

調一下檔案物件的選題方法

使用過這個方法後,檔案物件就會多出很多題目來

把題目賦值給學生物件

self.data = f_obj.data

學生物件有題目後,就從這一堆題目中選出5個

選題成功後,進行答題環節。

針對檔案物件的 select_wenda 的優化

1,手動選題

2,自動選題,一口氣載入所有的題目並返回

針對學生物件的 fileter_wenda 要優化

1,當前,無腦隨機五題

2,出具的五個題目是要與自有資料進行一些規則的篩選的

a,從已經答過的題目中取出分數最低的一題

b,從題庫中取出四題,並且,這四題不能與a的題目重複

Python copy 拷貝模組

目錄內建模組 copy 注意 由於拷貝對於不可變物件等同於賦值操作,所以你會發現列表中的不可變元素無論深淺拷貝位址指向不變 淺拷貝 方式一 l1 5 2 1 1 3 1 4 id l1 4401079144 map id,l1 4401099336,4401100056 l2 l1 id l2 44...

python 備份日誌(待優化)

root kali python log ls account.log backup.log ext.txt logback.py logger.py logger.pyc root kali python log cat ext.txt root python atmnew account.pkl...

python copy模組中的函式例項用法

1 copy.copy 函式可用於複製列表或字典等可變值,複製後的列表和原列表是兩個獨立的列表。import copy origin 1,2,3 new copy.copy origin new 0 0 print origin origin print new new 2 www.cppcns.c...