python學習五(基礎知識)

2022-09-01 02:12:08 字數 1875 閱讀 8840

列表深淺拷貝

集合淺拷貝:資料半共享,淺拷貝只能拷貝最外層,修改內層則原列表和新列表都會變化,通過列表的內建方法copy就可以實現

s = [1, '

alex

', '

alvin']

s2 =s.copy()

print(s2)

拷貝出的列表s2和列表s結果一致:  [1, 'alex', 'alvin']

s = [[1,2], 'alex', 'alvin']

s3 = s.copy()

s3[0][1] = 3

s3[1] = "hzw"

print(s3)

print(s)

結果:[[1, 3], 'hzw', 'alvin']

[[1, 3], 'alex', 'alvin']

把列表s3中的元素1修改為'hzw'後,原列表並未受影響

將s3中第乙個元素[1,2]中的2修改為'3'時,原列表中也跟著變了

深拷貝:資料完全不共享,是指將原列表完全轉殖乙份新的,copy.deepcopy()方法來拷貝列表

h1 = ['

h', 123,[15000,9000]]

x1 =copy.deepcopy(h1)

x1[0] = 'x'

x1[1] = 666h1[2][1] -= 1999x1[2][1] -= 5000

print

(h1)

print(x1)

結果:

['h', 123, [15000, 7001]]

['x', 666, [15000, 4000]]

集合是無序的,不可重複的資料集合,集合裡面的每個元素必須是可雜湊的(不可變的資料型別),但是集合是不可雜湊的,所以集合做不了字典的鍵

作用: 1、去重 

2、關係測試, 交集\差集\並集\反向(對稱)差集

集合的建立方式:

1.通過set()建立集合,格式 :集合名字=set(物件)

2.通過{}建立

#

集合建立

s = set('

saaaa li')

s1 = ['

alvin

', '

ee', '

alvin']

print

(s)s2 =set(s1)

print

(s2)

s3 = set([1,2,3,'

qqqqq'])

print

(s3)

a = set([1,2,3,4,5])

b = set([4,5,6,7,8])

#取交集

print

(a.intersection(b))

print(a&b)

#取並集

print

(a.union(b))

print(a |b)#差集

print

(a.difference(b))

print(a-b)

print

(b.difference(a))

print(b-a)

#反向交集

print

(a.symmetric_difference(b))

print(a^b)

#父集,超集

print

(a.issuperset(b))

print(a.issubset(b))

python 基礎知識五 切片

切片 slice 操作符,取前3個元素,用一行 就可以完成切片 l 0 3 adam lisa bart l 0 3 表示,從索引0開始取,直到索引3為止,但不包括索引3。即索引0,1,2,正好是3個元素。如果第乙個索引是0,還可以省略 l 3 adam lisa bart 也可以從索引1開始,取出...

Python學習基礎知識

1 python中的布林運算 1 python把0 空字串 和none看成 false,其他數值和非空字串都看成 true 2 python直譯器在做布林運算時,只要能提前確定計算結果,它就不會往後算了,直接返回結果。2 python中的list 新增 2 用list的 insert 方法,它接受兩...

Python基礎知識學習

anaconda環境配置 anaconda pycharm環境 參考 直譯器 參考 和 python入門 anaconda和pycharm的安裝和配置 print and input print hello,world x 12 print x s hello y len s print the l...