久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > python面試題,一道題考察Python基礎(chǔ)能力

        python面試題,一道題考察Python基礎(chǔ)能力

        來(lái)源:千鋒教育
        發(fā)布人:小千
        時(shí)間: 2021-01-07 16:11:00 1610007060

        一道面試題就能檢驗(yàn)出你的Python基礎(chǔ)如何,想知道題目是什么嗎?往下看

        問(wèn):將 data 轉(zhuǎn)換成 new_data 這種形式,寫(xiě)出轉(zhuǎn)換過(guò)程。

        1

        可以看出,轉(zhuǎn)換的過(guò)程是將 key 的下劃線(xiàn)進(jìn)行拆分,然后下劃線(xiàn)后邊的字符嵌套在前面字符的值中。

        感興趣就打開(kāi) IDE,自己先試著解一下。

        解題思路

        你應(yīng)該很快想到,主要思路是將下劃線(xiàn) split 后,然后依次使用字符生成內(nèi)層字典,當(dāng)達(dá)到最后一個(gè)字符時(shí)將數(shù)字作為值。

        那么關(guān)鍵點(diǎn)在于,如何不斷地獲得內(nèi)層字典去修改呢?實(shí)際本題就是考察你是否理解 Python 字典是引用傳遞這個(gè)特性。

        什么是引用傳遞?我們知道 Python 中字典和列表對(duì)象都是可變對(duì)象,同一個(gè)字典對(duì)象的變量不管如何傳遞,只要改變其中一個(gè)變量會(huì)同步修改其他變量。這是因?yàn)樽兞看鎯?chǔ)的只是可變對(duì)象的引用,無(wú)論調(diào)用哪個(gè)變量,返回的依然是同一個(gè)對(duì)象。比如:

        2

        如上,利用這個(gè)特性,將內(nèi)層字典賦值給一個(gè)中間變量,然后改變這個(gè)中間變量,即可同步修改最終的 new_data 變量。

        根據(jù)這個(gè)思路,初步代碼如下:

        3

        這也是群友給出的第一版答案,這樣寫(xiě)并沒(méi)有多大問(wèn)題,但是代碼比較繁瑣,肯定還有優(yōu)化空間。

        我們可以只使用一個(gè)中間變量即可,進(jìn)一步優(yōu)化:

        4

        上面這個(gè)代碼看似很簡(jiǎn)潔了,但是仍然還有兩個(gè) if 判斷,如果不是使用了三元表達(dá)式的話(huà),還會(huì)更多行。

        所以可以進(jìn)一步優(yōu)化:

        5

        我們省略掉了 last 來(lái)判斷最后一個(gè)字符的索引,直接通過(guò) keys[:-1] 避開(kāi)最后一個(gè)字符,末尾再單獨(dú)生成數(shù)字鍵值對(duì)。

        這里還使用字典的一個(gè)內(nèi)置方法 —— setdefault。

        dict.setdefault(key, default=None) 方法和 get 方法類(lèi)似,只是如果鍵不存在于字典中,不僅會(huì)返回 default 參數(shù)的值,還同時(shí)會(huì)用該值自動(dòng)生成一個(gè)鍵值對(duì)。

        6

        最終我們使用了 6 行代碼就解出該題,這也是接近最簡(jiǎn)代碼。

        如果使用字典引用的特性是合格分的話(huà),那么當(dāng)你用出 setdefault 這個(gè)方法后,面試官已經(jīng)給你打了優(yōu)秀,因此一定要熟悉基礎(chǔ)數(shù)據(jù)對(duì)象的所有內(nèi)置方法。

        最后歡迎大家添加我們的Python技術(shù)交流qq群:790693323 加群找管理免費(fèi)領(lǐng)取學(xué)習(xí)資料和項(xiàng)目代碼,等你來(lái)哦~~~

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        USB Type C電纜正反插都可以?

        USB Type C電纜正反插都可以USB Type C電纜是一種通用連接標(biāo)準(zhǔn),其最顯著的特點(diǎn)是具備正反插功能。不論插頭的方向如何,用戶(hù)都可以輕松插入U(xiǎn)SB ...詳情>>

        2023-10-14 04:31:18
        為什么sql語(yǔ)句不支持關(guān)系代數(shù)中的除法?

        為什么SQL語(yǔ)句不支持關(guān)系代數(shù)中的除法1. SQL和關(guān)系代數(shù)的關(guān)系:SQL是一種基于關(guān)系代數(shù)的查詢(xún)語(yǔ)言,它的設(shè)計(jì)初衷是為了能夠以一種更接近自然語(yǔ)言...詳情>>

        2023-10-14 04:07:35
        sql 怎么根據(jù)父id查詢(xún)下三級(jí)子集?

        一、概述處理樹(shù)形數(shù)據(jù)時(shí),我們常常需要根據(jù)父ID查詢(xún)其下的子集。本文將引導(dǎo)您如何使用SQL進(jìn)行這一操作,尤其是查詢(xún)下三級(jí)子集。二、查詢(xún)方法詳...詳情>>

        2023-10-14 03:59:07
        什么是分治算法,和遞歸有什么關(guān)系?

        分治算法是什么分治算法是一種算法設(shè)計(jì)思想,其主要思想是將一個(gè)復(fù)雜的問(wèn)題分解為兩個(gè)或更多相同或相似的子問(wèn)題,直到子問(wèn)題簡(jiǎn)單到可以直接解決...詳情>>

        2023-10-14 03:22:51
        為什么微服務(wù)一定要上Docker?

        為什么微服務(wù)一定要上Docker微服務(wù)作為一種軟件架構(gòu)模式,需要考慮的因素包括服務(wù)的獨(dú)立性、可擴(kuò)展性、可維護(hù)性和可移植性等。這其中,Docker的...詳情>>

        2023-10-14 03:15:33
        快速通道
        连山| 田林县| 乳源| 册亨县| 玉树县| 远安县| 马关县| 廉江市| 邓州市| 宿州市| 黑山县| 漳州市| 潢川县| 疏勒县| 柞水县| 乌兰察布市| 英吉沙县| 宣威市| 霍邱县| 荆门市| 瑞昌市| 丰城市| 新宁县| 蕉岭县| 岐山县| 岗巴县| 东乌珠穆沁旗| 赤城县| 天长市| 广汉市| 康定县| 台前县| 新泰市| 宜都市| 宁武县| 五华县| 吉林市| 蒙城县| 尤溪县| 陆丰市| 汝城县|