成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python3多層函數(shù) python怎么跳出多層循環(huán)

python3 如何解析多層嵌套字典,具體內(nèi)容打開看

# 見 代碼? ?,代碼粘貼上不帶格式,按照圖片用tab鍵調(diào)整一下,圖片是核心部分

創(chuàng)新互聯(lián)建站主營濱海網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),濱海h5小程序定制開發(fā)搭建,濱海網(wǎng)站營銷推廣歡迎濱海等地區(qū)企業(yè)咨詢

simple_dict?=?{

'Large_dict'?:?{'middle_dict1'?:?{'small_dict1'?:?1?,

'small_dict2'?:?2},

'middle_dict2'?:?{'small_dict3'?:?3?,

'small_dict4'?:?4,

'small_dict5':{'small_dict10'?:?1?,

'small_dict22'?:?3},

},

}

}

#?需求分析:?從嵌套字典中,找到值為3的??路徑關(guān)系

#?簡化模型:從value為3的值?遞歸向上層的?key?,遞歸過程保存當前已經(jīng)遞歸的路徑和當前層

#?1.找到字典一共有多少層:

count?=?0

path?=?''#?設(shè)置路徑的全局變量

result?=?[]??#?記錄結(jié)論

def?get_count(dict_test):

global?count??#?聲明每次遞歸均是改變?nèi)肿兞?/p>

global?path??#?拼接檔期啊你的路徑

global?result??#?記錄結(jié)果

for?i?in?dict_test:

if?type(dict_test[i]).__name__?=='dict'?:

#?如果是字典,則繼續(xù)向下展開,即執(zhí)行遞歸:

if?count?==?0:???#?增加判斷?消除第一個?-?出現(xiàn),邏輯問題

path?=?path??+?i

else:

path?=?path?+?'-'?+?i

count?+=?1??#?記錄層數(shù)

get_count(dict_test[i])

else:

try:

#?如果不是字典?則是鍵值對,查詢value值是不是3,當前i包含兩個內(nèi)容,一個是key,一個是value

if?dict_test[i]?==?3:

#?找到了value?=3?的值

result.append(f"路徑是:?%s,在第%d層"?%?(path?+?'-'?+?i,?count))

except?Exception?as??result:??#?雖然字典限定了寫法,為了增加健壯性?此位置使用try指令,避免類型錯誤

print(result)

continue

if?__name__?==?'__main__':

get_count(simple_dict)??#?執(zhí)行遞歸函數(shù)

[print(str(i?+?1)?+?':'?+?j)?for?i,?j?in?enumerate(result)]??#?打印結(jié)果

'''

結(jié)果:

1:路徑是:?Large_dict-middle_dict1-middle_dict2-small_dict3,在第3層

2:路徑是:?Large_dict-middle_dict1-middle_dict2-small_dict5-small_dict22,在第4層

'''

太全了!Python3常用內(nèi)置函數(shù)總結(jié)

數(shù)學相關(guān)

abs(a) : 求取絕對值。abs(-1)

max(list) : 求取list最大值。max([1,2,3])

min(list) : 求取list最小值。min([1,2,3])

sum(list) : 求取list元素的和。 sum([1,2,3]) 6

sorted(list) : 排序,返回排序后的list。

len(list) : list長度,len([1,2,3])

divmod(a,b): 獲取商和余數(shù)。 divmod(5,2) (2,1)

pow(a,b) : 獲取乘方數(shù)。pow(2,3) 8

round(a,b) : 獲取指定位數(shù)的小數(shù)。a代表浮點數(shù),b代表要保留的位數(shù)。round(3.1415926,2) 3.14

range(a[,b]) : 生成一個a到b的數(shù)組,左閉右開。range(1,10) [1,2,3,4,5,6,7,8,9]

類型轉(zhuǎn)換

int(str) : 轉(zhuǎn)換為int型。int('1') 1

float(int/str) : 將int型或字符型轉(zhuǎn)換為浮點型。float('1') 1.0

str(int) : 轉(zhuǎn)換為字符型。str(1) '1'

bool(int) : 轉(zhuǎn)換為布爾類型。 str(0) False str(None) False

bytes(str,code) : 接收一個字符串,與所要編碼的格式,返回一個字節(jié)流類型。bytes('abc', 'utf-8') b'abc' bytes(u'爬蟲', 'utf-8') b'xe7x88xacxe8x99xab'

list(iterable) : 轉(zhuǎn)換為list。 list((1,2,3)) [1,2,3]

iter(iterable): 返回一個可迭代的對象。 iter([1,2,3]) list_iterator object at 0x0000000003813B00

dict(iterable) : 轉(zhuǎn)換為dict。 dict([('a', 1), ('b', 2), ('c', 3)]) {'a':1, 'b':2, 'c':3}

enumerate(iterable) : 返回一個枚舉對象。

tuple(iterable) : 轉(zhuǎn)換為tuple。 tuple([1,2,3]) (1,2,3)

set(iterable) : 轉(zhuǎn)換為set。 set([1,4,2,4,3,5]) {1,2,3,4,5} set({1:'a',2:'b',3:'c'}) {1,2,3}

hex(int) : 轉(zhuǎn)換為16進制。hex(1024) '0x400'

oct(int) : 轉(zhuǎn)換為8進制。 oct(1024) '0o2000'

bin(int) : 轉(zhuǎn)換為2進制。 bin(1024) '0b10000000000'

chr(int) : 轉(zhuǎn)換數(shù)字為相應ASCI碼字符。 chr(65) 'A'

ord(str) : 轉(zhuǎn)換ASCI字符為相應的數(shù)字。 ord('A') 65

相關(guān)操作

eval****() : 執(zhí)行一個表達式,或字符串作為運算。 eval('1+1') 2

exec() : 執(zhí)行python語句。 exec('print("Python")') Python

filter(func, iterable) : 通過判斷函數(shù)fun,篩選符合條件的元素。 filter(lambda x: x3, [1,2,3,4,5,6]) filter object at 0x0000000003813828

map(func, *iterable) : 將func用于每個iterable對象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) [6,8,10]

zip(*iterable) : 將iterable分組合并。返回一個zip對象。 list(zip([1,2,3],[4,5,6])) [(1, 4), (2, 5), (3, 6)]

type():返回一個對象的類型。

id(): 返回一個對象的唯一標識值。

hash(object):返回一個對象的hash值,具有相同值的object具有相同的hash值。 hash('python') 7070808359261009780

help():調(diào)用系統(tǒng)內(nèi)置的幫助系統(tǒng)。

isinstance():判斷一個對象是否為該類的一個實例。

issubclass():判斷一個類是否為另一個類的子類。

globals() : 返回當前全局變量的字典。

next(iterator[, default]) : 接收一個迭代器,返回迭代器中的數(shù)值,如果設(shè)置了default,則當?shù)髦械脑乇闅v后,輸出default內(nèi)容。

reversed(sequence) : 生成一個反轉(zhuǎn)序列的迭代器。 reversed('abc') ['c','b','a']

Python常用函數(shù)三有哪些?這7個函數(shù)使用頻率最高,總算搞明白了

1.1 例如:print(hex(2))案例

1.2 輸出函數(shù):print(hex(2))

1.3 輸出結(jié)果:0x2

1.4 解析說明:返回16進制的數(shù)。

2.1 例如:print(chr(10))案例

2.2 輸出函數(shù):print(chr(10))

2.3 輸出結(jié)果:0o12

2.4 解析說明:返回當前整數(shù)對應的ASCll碼

3.1 例如:print(ord("b"))案例

3.2 輸出函數(shù):print(ord("b"))

3.3 輸出結(jié)果:98

3.4 解析說明:返回當前ASCll碼的10進制數(shù)

4.1 例如:print(chr(97))

4.2 輸出函數(shù):print(chr(97))

4.3 輸出結(jié)果:b

4.4 解析說明:返回當前ASCll碼的10進制數(shù)。

案例一:給你一個字符串,s = 'hello kitty'

1.1 輸出函數(shù):print(s.capitalize())

1.2 輸出結(jié)果:0x2

1.3 解析說明:返回16進制的數(shù)。

2.1輸出函數(shù):print(s.replace('kitty','kuang'))

2.2 輸出結(jié)果:hello kuang

2.3 解析說明:替換功能,將kitty換成kuang。

2.4 輸出函數(shù):print(s.replace('4','KK'))

2.5 輸出結(jié)果:12KK12KK

2.6 解析說明:所有的4都替換成KK

2.7 輸出函數(shù):print(s.replace('4','KK'))

2.8 輸出結(jié)果:12KK12KK124

2.9 解析說明:將前兩個的4替換成go

案例一:給你一個字符串,ip = '192.168.1.1'

3.1 輸出函數(shù):print(ip.split(','))

3.2 輸出結(jié)果:['192.168.1.1']

3.3 解析說明:將字符串分割成列表

案例一:給你一個字符串,ip = '192.168.1.1'

3.3 輸出函數(shù):print(ip.split(',',2))

3.4 輸出結(jié)果:['192.168.1.1']

3.5 解析說明:從第二個開始分割成列表

當前名稱:python3多層函數(shù) python怎么跳出多層循環(huán)
網(wǎng)站路徑:http://jinyejixie.com/article8/doseeip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、營銷型網(wǎng)站建設(shè)、定制網(wǎng)站做網(wǎng)站、云服務器、面包屑導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
延庆县| 南溪县| 周宁县| 嘉荫县| 当雄县| 英吉沙县| 汤阴县| 司法| 锦州市| 三门县| 万源市| 天水市| 雷山县| 临湘市| 锦州市| 隆子县| 武定县| 德安县| 双鸭山市| 彰化县| 榕江县| 含山县| 贵定县| 磐安县| 德庆县| 金塔县| 新民市| 榆中县| 额济纳旗| 涪陵区| 德江县| 乌审旗| 米易县| 濮阳县| 白玉县| 都匀市| 长白| 天镇县| 藁城市| 乃东县| 湖口县|