日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python面試中較常問及的知識(shí)點(diǎn)梳理---列表&字典&綜合部分

系統(tǒng) 1797 0

? 數(shù)據(jù)類型 - 列表
1.已知 AList = [1,2,3,1,2],對(duì) AList 列表元素去重,寫出具體過程。
2.如何實(shí)現(xiàn) “1,2,3” 變成 [“1”,“2”,“3”]
3.給定兩個(gè) list,A 和 B,找出相同元素和不同元素
4. [[1,2],[3,4],[5,6]] 一行代碼展開該列表,得出 [1,2,3,4,5,6]
5. 合并列表 [1,5,7,9] 和 [2,2,6,8]
6. 如何列表的元素?

? 數(shù)據(jù)類型 - 字典
1.字典操作中 del 和 pop 有什么區(qū)別
2. 按照字典的內(nèi)的年齡排序
d1 = [
{‘name’:‘a(chǎn)lice’, ‘a(chǎn)ge’:38},
{‘name’:‘bob’, ‘a(chǎn)ge’:18},
{‘name’:‘Carl’, ‘a(chǎn)ge’:28},
]
3. 請(qǐng)合并下面兩個(gè)字典 a = {“A”:1,“B”:2},b = {“C”:3,“D”:4}
4. 如何使用生成式的方式生成一個(gè)字典,寫一段功能代碼。
5. 如何把元組 (“a”,“b”) 和元組 (1,2),變?yōu)樽值?{“a”:1,“b”:2}

? 數(shù)據(jù)類型 - 綜合
1.下列字典對(duì)象鍵類型不正確的是?
A:{1:0,2:0,3:0}
B:{“a”:0, “b”:0, “c”:0}
C: {(1,2):0, (2,3):0}
D: {[1,2]:0, [2,3]:0}
2. 如何交換字典 {“A”:1,“B”:2}的鍵和值
3. Python 里面如何實(shí)現(xiàn) tuple 和 list 的轉(zhuǎn)換?
4. 我們知道對(duì)于列表可以使用切片操作進(jìn)行部分元素的選擇,那么如何對(duì)生成器類型的對(duì)象實(shí)現(xiàn)相同的功能呢?
5. 請(qǐng)將 [i for i in range(3)] 改成生成器
6. a=“hello” 和 b=“你好” 編碼成 bytes 類型
7. 下面的代碼輸出結(jié)果是什么?
a = (1,2,3,[4,5,6,7],8)
a[2] = 2
8. 下面的代碼輸出的結(jié)果是什么?
a = (1,2,3,[4,5,6,7],8)
a[3][0] = 2


列表:
1.已知 AList = [1,2,3,1,2],對(duì) AList 列表元素去重,寫出具體過程。
答:

            
              list(set(AList))

            
          

2.如何實(shí)現(xiàn) “1,2,3” 變成 [“1”,“2”,“3”]
答:

            
              s = "1,2,3"
print(s.split(","))

            
          

3.[[1,2],[3,4],[5,6]] 一行代碼展開該列表,得出 [1,2,3,4,5,6]
答:

            
              l = [[1,2],[3,4],[5,6]]
x=[j for i in l for j in i]  
print(x)

            
          

4.合并列表 [1,5,7,9] 和 [2,2,6,8]
答:使用 extend 和 + 都可以。

a = [1,5,7,9]
b = [2,2,6,8]
a.extend(b)
print(a)

5.如何打亂一個(gè)列表的元素?
答:

            
              import random

a = [1, 2, 3, 4, 5]
random.shuffle(a)
print(a)

            
          

數(shù)據(jù)類型 - 字典
1.字典操作中 del 和 pop 有什么區(qū)別
答:
del 可以根據(jù)索引(元素所在位置)來刪除的,沒有返回值。 pop 可以根據(jù)索引彈出一個(gè)值,然后可以接收它的返回值。

2.按照字典的內(nèi)的年齡排序
d1 = [
{‘name’:‘a(chǎn)lice’, ‘a(chǎn)ge’:38},
{‘name’:‘bob’, ‘a(chǎn)ge’:18},
{‘name’:‘Carl’, ‘a(chǎn)ge’:28},
]
答:

            
              d1 = [
    {'name': 'alice', 'age': 38},
    {'name': 'bob', 'age': 18},
    {'name': 'Carl', 'age': 28},
]

print(sorted(d1, key=lambda x:x["age"]))

            
          

3.請(qǐng)合并下面兩個(gè)字典 a = {“A”:1,“B”:2},b = {“C”:3,“D”:4}
答:
合并字典方法很多,可以使用 a.update(b) 或者下面字典解包的方式

            
              a = {"A":1,"B":2}
b = {"C":3,"D":4}
print({**a,**b})

            
          

4.如何使用生成式的方式生成一個(gè)字典,寫一段功能代碼。
答:

            
              # 需求 3: 把字典的 key 和 value 值調(diào)換;
d = {'a':'1', 'b':'2'}

print({v:k for k,v in d.items()})

            
          

5.如何把元組 (“a”,“b”) 和元組 (1,2),變?yōu)樽值?{“a”:1,“b”:2}
答 :
zip 的使用,但是最后記得把 zip 對(duì)象再轉(zhuǎn)換為字典。

            
              a = ("a", "b")
b = (1, 2)
print(dict(zip(a, b)))

            
          

數(shù)據(jù)類型 - 綜合
1.下列字典對(duì)象鍵類型不正確的是?
A:{1:0,2:0,3:0}
B:{“a”:0, “b”:0, “c”:0}
C: {(1,2):0, (2,3):0}
D: {[1,2]:0, [2,3]:0}
答:
D 因?yàn)橹挥锌?hash 的對(duì)象才能做字典的鍵,列表是可變類型不是可 hash 對(duì)象,所以不能用列表做為字典的鍵。
2.如何交換字典 {“A”:1,“B”:2}的鍵和值
答:

            
              s =  {"A":1,"B":2}

#方法一:
dict_new = {value:key for key,value in s.items()}

# 方法二:
new_s= dict(zip(s.values(),s.keys()))

            
          

3.Python 里面如何實(shí)現(xiàn) tuple 和 list 的轉(zhuǎn)換?
答:
Python 中的類型轉(zhuǎn)換,一般通過類型強(qiáng)轉(zhuǎn)即可完成 tuple 轉(zhuǎn) list 是 list() 方法 list 轉(zhuǎn) tuple 使用 tuple() 方法

4.我們知道對(duì)于列表可以使用切片操作進(jìn)行部分元素的選擇,那么如何對(duì)生成器類型的對(duì)象實(shí)現(xiàn)相同的功能呢?
答:
這個(gè)題目考察了 Python 標(biāo)準(zhǔn)庫的 itertools 模快的掌握情況,該模塊提供了操作生成器的一些方法。 對(duì)于生成器類型我們使用 islice 方法來實(shí)現(xiàn)切片的功能。例子如下

            
              from itertools import islice
gen = iter(range(10)) #iter()函數(shù)用來生成迭代器
#第一個(gè)參數(shù)是迭代器,第二個(gè)參數(shù)起始索引,第三個(gè)參數(shù)結(jié)束索引,不支持負(fù)數(shù)索引
for i in islice(gen,0,4): 
    print(i)

            
          

5.請(qǐng)將 [i for i in range(3)] 改成生成器
答:通過把列表生產(chǎn)式的中括號(hào),改為小括號(hào)我們就實(shí)現(xiàn)了生產(chǎn)器的功能即,

            
              (i for i in range(3))

            
          

6.a=“hello” 和 b=“你好” 編碼成 bytes 類型
答:
這個(gè)題目一共三種方式,第一種是在字符串的前面加一個(gè) b,第二種可以使用 bytes 方法,第三種使用字符串 encode 方法。具體代碼如下,abc 代表三種情況

            
              a = b"hello"
b = bytes("你好", "utf-8")
c = "你好".encode("utf-8")
print(a, b, c)

            
          

7.下面的代碼輸出結(jié)果是什么?

            
              a = (1,2,3,[4,5,6,7],8)
a[2] = 2

            
          

答:
我們知道元組里的元素是不能改變的所以這個(gè)題目的答案是出現(xiàn)異常。

8.下面的代碼輸出的結(jié)果是什么?
a = (1,2,3,[4,5,6,7],8)
a[3][0] = 2
答:
前面我說了元組的里元素是不能改變的,這句話嚴(yán)格來說是不準(zhǔn)確的,如果元組里面元素本身就是可變類型,比如列表,那么在操作這個(gè)元素里的對(duì)象時(shí),其內(nèi)存地址也是不變的。a[3] 對(duì)應(yīng)的元素是列表,然后對(duì)列表第一個(gè)元素賦值,所以最后的結(jié)果是: (1,2,3,[2,5,6,7],8)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 九龙城区| 怀宁县| 吐鲁番市| 东乡族自治县| 镶黄旗| 睢宁县| 江陵县| 同德县| 博客| 潞城市| 石景山区| 四子王旗| 西城区| 台湾省| 嘉定区| 法库县| 吉木萨尔县| 洛隆县| 吉隆县| 平邑县| 军事| 正镶白旗| 福鼎市| 凤冈县| 上栗县| 通海县| 大宁县| 钟祥市| 苗栗县| 南城县| 靖边县| 锦州市| 阿尔山市| 高平市| 武威市| 凤冈县| 淮阳县| 罗源县| 宁阳县| 蛟河市| 九寨沟县|