alist = [1,2,3,['a','b']]
b = alist
print (b)
print(alist)
print(b)
#這個是淺拷貝,淺拷貝隨著原列表子元素的改變而改變,但是不能隨著新增元素的增加而增加
alist = [1,2,3,['a','b']]
clist = copy.copy(alist)
print (clist)
print (alist)
print (clist)
\# [1, 2, 3, ['a', 'b'], 5]
\# [1, 2, 3, ['a', 'b']]
print (alist)
print (clist)
#[1, 2, 3, ['a', 'b', 5], 5]
#[1, 2, 3, ['a', 'b', 5]]
del alist[0]
print (alist)
print (clist)
#這個是深拷貝,就是只拷貝了原來的列表,拷貝完之後不管原列表怎麼改變,拷貝的列表都不會做任何改變
alist = [1,2,3,['a','b']]
d = copy.deepcopy(alist)
print (d)
print (alist)
print (d)
/# [1, 2, 3, ['a', 'b'], 5]
/# [1, 2, 3, ['a', 'b']]
print (alist)
print (d)
/# [1, 2, 3, ['a', 'b', 5], 5]
/# [1, 2, 3, ['a', 'b']]
二、接著說下if語法吧
流程控制
順序結構:**從上到下依次執行
條件結構:選擇結構,進入分支 有選擇的執行**
迴圈結構:在某個條件下重複執行某段**
if這個語法屬於條件結構,即選擇結構,進入分支 有選擇的執行**
語法的基本寫法是:
if 布林表示式或者是布林值 :
條件語句
如果布林表示式==t ,則執行條件語句
如果布林表示式==f ,則不執行條件語句
input() 獲取控制台輸入,有返回值—字串
int() 這個函式是進行資料型別轉換
pass 空語句 避免預發錯誤,有時候不知道裡面寫什麼的時候,可以先用pass
elif 在多個條件語句時,使用elif 下面跟條件語句
條件結構中如果滿足某個條件進入分支之後,其他的條件語句就不在執行,直接結束
if 後面只要是非空,非零 則都會執行條件
if 1 :
print ("我是真的")
if :
print ("我是假的")
#此時執行的結果只會是"我是真的"
下面來個例子:輸入手機號碼,判斷手機號碼是聯通、移動還是電信,如果超出11提示超出,非數字提示非法字元
telecom_card = [133,149,153,173,177,180,181,189,199]
unicom_card = [130,131,132,145,155,156,166,171,175,176,185,186,166]
mobile_card = [134,135,136,137,138,139,147,150,151,152,157,158,159,172,178,182,183,184,187,188,198]
while true :
tele = input("請輸入你的手機號碼:\n")
a = tele[:3]
if len(tele) == 11 and tele.isdigit() :
if int(a) in telecom_card:
print('你輸入的的手機號碼是電信號碼')
break
elif int(a) in unicom_card:
print('你輸入的的手機號碼是聯通號碼')
break
elif int(a) in mobile_card:
print('你輸入的的手機號碼是移動聯通號碼')
break
else:
print("你輸入的手機號碼不是三大通訊商號碼")
continue
elif len(tele) != 11:
print("你輸入的手機號碼位數有誤")
continue
else:
print("你輸入的手機號碼含有非法字元")
continue
好了,結束 賦值,淺拷貝,深拷貝的區別
一 賦值 copy 賦值是將某一數值或物件賦給某個變數的過程,分為下面 2 部分 基本資料型別 賦值,賦值之後兩個變數互不影響 引用資料型別 賦址,兩個變數具有相同的引用,指向同乙個物件,相互之間有影響 let a 10 let b a console.log a 10 console.log b ...
淺拷貝 深拷貝和淺賦值 深賦值
include includeusing namespace std class string else 淺拷貝 也就是系統預設的拷貝,可寫可不寫。string const string s 預設的拷貝構造 深拷貝 string const string s string s2 s1 深賦值 str...
賦值 淺拷貝 深拷貝
堆是動態分配記憶體,記憶體大小不一 棧是自動分配相對固定大小的記憶體空間,並由系統自動釋放 基本資料型別值是不可變的,比較是值的比較 基本資料型別,傳值。開闢乙個新的記憶體空間 js 基本資料型別,儲存在 棧 中,記憶體可以及時 引用型別值是可變的,比較是引用的比較,看其引用是否指向同乙個物件 引用...