日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python集合数据对象_python学习第七天 基础数据类型补充 深浅copy 集合 关键字后面加可迭代对象...

發(fā)布時間:2024/1/23 python 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python集合数据对象_python学习第七天 基础数据类型补充 深浅copy 集合 关键字后面加可迭代对象... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在基礎(chǔ)數(shù)據(jù)類型中可能遇到的坑:

元組:

tuple1=(1) 的數(shù)據(jù)類型是int , tuple2=(‘a(chǎn)lex‘)的數(shù)據(jù)類型是str 等

tuple1=(1,) 和 tuple2的數(shù)據(jù)類型是 tuple

列表:

列表與列表之間可以相加,但不可以減(面試題)

list1=[1,2,3]

list2=[‘a(chǎn)‘,‘b‘]

list3=list1+list2

print(list3)

#[1, 2, 3, ‘a(chǎn)‘, ‘b‘]

對于可變數(shù)據(jù)類型容易遇到的坑:

列表: 在for循環(huán)中刪除列表中的元素,索引會跟著變化

# 刪除列表中偶數(shù)索引對應(yīng)的元素

# 方法1:新建一個列表,將奇數(shù)索引對應(yīng)的元素添加進去

list1=[1,2,3,4,5,6,7]

list2=[]

for i in list1:

if list1.index(i) % 2 == 1:

list2.append(i)

print(list2

# 方法2:從列表的最后開始刪

list1=[1,2,3,4,5,6,7]

for i in range(len(list1)-1,-1,-1):

if i % 2 == 0:

list1.pop(i)

print(list1)

# 方法3

# list1=[1,2,3,4,5,6,7]

# del list1[0::2]

# print(list1)

字典: 在for循環(huán)中刪除字典中的鍵值對,for循環(huán)會報錯

# 刪除字典中含k的鍵

# 方法1:將keys提取到列表中,循環(huán)去除

dic={‘k1‘:1,‘k2‘:2,‘name‘:3}

list1=list(dic.keys())

for i in list1:

if ‘k‘ in i:

dic.pop(i)

print(dic)

# # 方法2

# dic={‘k1‘:1,‘k2‘:2,‘name‘:3}

# dic2={}

# for k in dic.keys():

# if ‘k‘ not in k:

# dic2.setdefault(k,dic[k])

# print(dic2)

創(chuàng)建字典的3種方法(面試題)

1.dic1={}

2.dic2=dict()

3.dic3=dict.fromkeys([‘key1‘,‘key2‘,‘key3‘],[ ]) fromkeys后面加可迭代數(shù)據(jù)

# dic3=dict.fromkeys([‘key1‘,‘key2‘,‘key3‘],[])

# dic3[‘key1‘]=‘a(chǎn)lex‘

# print(dic3)

#{‘key1‘: ‘a(chǎn)lex‘, ‘key2‘: [], ‘key3‘: []}

區(qū)分:

# dic3=dict.fromkeys([‘key1‘,‘key2‘,‘key3‘],[])

# dic3[‘key1‘].append(‘1‘)

# print(dic3)

#{‘key1‘: [‘1‘], ‘key2‘: [‘1‘], ‘key3‘: [‘1‘]}

dic4=dict.fromkeys([‘key1‘,‘key2‘,‘key3‘],‘a(chǎn)lex‘)

dic3=dict.fromkeys([‘key1‘,‘key2‘,‘key3‘],‘egon‘)

print(dic3)

#{‘key1‘: ‘egon‘, ‘key2‘: ‘egon‘, ‘key3‘: ‘egon‘}

集合:

集合的創(chuàng)建:

1. set1={1,2,3}

2.set2=set()

特點:

集合本身是可變數(shù)據(jù)類型 frozenset(set1): 凍集合,可以做字典的鍵

集合里面的元素必須是不可變數(shù)據(jù)類型

集合是無序的

集合天然去重 (面試題)

# 方法1:利用set去重

list1=[‘a(chǎn)lex‘,‘egon‘,1,‘a(chǎn)lex‘]

set1=set(list1)

list1=list(set1)

print(list1)

# 方法2:利用for循環(huán)去除

list1=[‘a(chǎn)lex‘,‘egon‘,1,‘a(chǎn)lex‘]

list2=[]

for i in list1:

if i not in list2:

list2.append(i)

print(list2)

集合的增和刪

增:

add

update 相當于list 的extend

刪:

remove 按元素刪

pop 隨機刪

clear 清空

del 內(nèi)存級別刪

數(shù)據(jù)類型之間的相互轉(zhuǎn)換:

1.

str-->list : split()

list-->str : join 列表里只能由字符串類型的數(shù)據(jù),有其他類型的數(shù)據(jù)會報錯

list1=[‘a(chǎn)lex‘,‘egon‘,‘a(chǎn)lex‘]

s=‘_‘.join(list1)

print(s)

2.

dict-->list:

list(dic.keys())

list(dic.values())

list(dic.ites())

list-->dict:

列表不能轉(zhuǎn)換為字典

3.

tuple-->list: list1=list(set())

list-->tuple: tuple1=tuple(list())

賦值=與深淺copy:

賦值 = : 數(shù)據(jù)一樣,id也一樣

淺copy: 數(shù)據(jù)一樣,里層的id一樣,最外層的id不一樣 (int str bool類型沒有淺copy)

list1=[1,2,3]

list2=list1.copy()

print(id(list1),id(list2))

print(id(list1[0]),id(list2[0]))

#1866482736328 1866482736264

#1887330528 1887330528

深copy:數(shù)據(jù)一樣,里層外層的id都不一樣 (int str bool類型有深copy但id不變)

import copy

list1=[1,2,3]

list2=copy.deepcopy(list1)

print(id(list1),id(list2))

print(id(list1[0]),id(list2[0]))

關(guān)于一些關(guān)鍵字后面加可迭代對象

enumerate

‘ ‘.join()

for循環(huán)

總結(jié)

以上是生活随笔為你收集整理的python集合数据对象_python学习第七天 基础数据类型补充 深浅copy 集合 关键字后面加可迭代对象...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。