day7 基礎資料型別 集合 深淺拷貝

2022-06-27 10:39:10 字數 3653 閱讀 6942

基礎資料型別彙總:

#

!/usr/bin/env python

#-*- coding:utf-8 -*-

'''str int

'''#

strs = 'a'

print

(s.isspace())

'''list:

'''li_st = [11, 22, 33, 44, 55]

for i in range(len(li_st)): #

range()也是顧頭不顧尾

del li_st[i] #

del操作會更新列表

刪掉所有偶數

for i in

li_st:

if i % 2 ==0:

delli_st[li_st.index(i)]

print

(li_st)

dic =

dic1 ={}

#迴圈字典過程中,不能刪除字典的鍵值對;

for i in

dic:

if'k'

ini:

deldic[i]

for i in

dic:

if'k'

notin

i: dic1.setdefault(i, dic[i])

dic =dic1

print

(dic)

l =for i in

dic:

if'k'

ini:

for i in

l:

deldic[i]

print

(dic)

#轉換成bool是false:

#0 '' () {} set()

#元組 如果元組裡面只有乙個元素且不加 逗號, 則此元素是什麼型別,就是什麼型別

tu1 = (1)

tu2 = (1,)

print

(tu1,type(tu1))

print(tu2,type(tu2))

集合:

#

!/usr/bin/env python

#-*- coding:utf-8 -*-

'''集合:

可變的資料型別;可以增刪改查

儲存元素必須是不可變的資料型別

無序,不重複,

{}'''

set1 = set()

set2 = } #

報錯,集合中的元素必須是可雜湊的

print

(set1)

print

(set2)

set1 =

#集合建立時可以重複元素,會在建立過程中自動去重操作#增

#add

set1.add('

godress')

print

(set1)

update

set1.update(

'abc')

print

(set1)#刪

#pop 隨機刪除,集合為空的時候報錯

name =set1.pop( )

print

(name)

print

(set1)

#remove 按元素刪除,元素不存在報錯

set1.remove('

barry')

print

(set1)

#清空列表

set1.clear()

print

(set1)

#del 刪除整個集合

delset1

print

(set1)#查

#只能用for迴圈查詢

for i in

set1:

print

(i)#

集合運算

set1 =

set2 =

set3 = set1 &set2#交集

print(set1 &set2)

print

(set1.intersection(set2))

#反交集

print(set1 ^set2)

print

(set1.symmetric_difference(set2))#並集

print(set1 |set2)

print

(set1.union(set2))#差集

print(set1 -set2)

print

(set1.difference(set2))#子集

set4 =

set5 =

print(set4 print

(set4.issubset(set5))#超集

set4 =

set5 =

print(set5 >set4)

print

(set5.issuperset(set4))

#將集合變為不可變資料型別,即唯讀集合

s = frozenset('

barry')

print

(s, type(s))

#只能查詢

for i in

s:

print(i)

深淺拷貝:

#

!/usr/bin/env python

#-*- coding:utf-8 -*-#賦值

#l1 = [1, 2, 3, ['a', 'b', 'c']]

#l2 = l1

#print('original l1:', l1)

#print('original l2:', l2)##

l2[3][0] = 'k'

#print('changed l2:', l2)

#print('changed l1:', l1)

#因為賦值操作是直接把兩個變數(l1,l2)同時指向同乙個記憶體位址,所以動一發而牽全身

#淺拷貝

#l1 = [1, 2, 3, ['a', 'b', 'c']]

#l2 = l1.copy()

#print('original l1:', l1)

#print('original l2:', l2)##

l2[0] = 4

#l2[3][1] = 'k'

#print('changed l2:', l2)

#print('changed l1:', l1)

#淺拷貝:將拷貝物件的值拷貝到另乙個記憶體位址,但是拷貝物件的子代仍是和原來指向同乙個記憶體位址

#深拷貝

#import copy

#l1 = [1, 2, 3, ['a', 'b', 'c']]

#l2 = copy.deepcopy(l1)

#print('original l1:', l1)

#print('original l2:', l2)

#l2[0] = 4

#l2[3][1] = 'k'

#print('changed l2:', l2)

#print('changed l1:', l1)

#print(l2 is l1)

#深拷貝,將拷貝物件的值全部重新拷貝到新的記憶體位址裡

day7 基礎資料型別 set

目錄 集合 1.集合的建立 2.增 1 add 2 update 迭代著增加 3.刪 1 remove 2 pop 隨機刪除乙個元素 3 clear 4 del 4.集合的其他操作 集合是無序的,不重複的資料集合,它裡面的元素是可雜湊的 不可變型別 但是集合本身是不可雜湊的 所以集合做不了字典的鍵 ...

7,資料型別轉換,set 集合,和深淺copy

str轉換成list 用split list轉換成str 用join tuple轉換成list tu1 1,2,3 li list tu1 強轉 tu2 tuple li 強轉 dic轉換成list c2 list dic 各種資料型別轉換成bool 0,set 轉成bool都是fasle 在迴圈列...

7 python資料型別補充 集合 深淺複製

一 基礎資料型別補充知識 1 fromkeys 將乙個物件作為values分別複製給另乙個物件,另乙個物件裡的元素作為keys 注意 此時作為values的元素位址相同,因為他們引用的是同乙個位址,所以values相同。dic dict.fromkeys 1,2,3,4,5,6,print dic ...