亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python面試準(zhǔn)備(三)之 python數(shù)據(jù)類型

系統(tǒng) 2109 0

數(shù)據(jù)類型

數(shù)據(jù)類型-字符串
  1. 列舉 Python 中的基本數(shù)據(jù)類型?

答: Python3 中有六個標(biāo)準(zhǔn)的數(shù)據(jù)類型:字符串(String)、數(shù)字(Digit)、列表(List)、元組(Tuple)、集合(Sets)、字典(Dictionary)。

  1. 如何區(qū)別可變數(shù)據(jù)類型和不可變數(shù)據(jù)類型

答: 從對象內(nèi)存地址方向來說

可變數(shù)據(jù)類型:在內(nèi)存地址不變的情況下,值可改變(列表和字典是可變類型,但是字典中的 key 值必須是不可變類型)
不可變數(shù)據(jù)類型:內(nèi)存改變,值也跟著改變。(數(shù)字,字符串,布爾類型,都是不可變類型)可以通過 id() 方法進行內(nèi)存地址的檢測。

  1. 將"hello world"轉(zhuǎn)換為首字母大寫"Hello World"

答: 這個得看清題目是要求兩個單詞首字母都要大寫,如果只是第一個單詞首字母大小的話,只使用 capitalize 即可,但是這里是兩個單詞,所以用下面的方法。

            
              arr 
              
                =
              
              
                "hello world"
              
              
                .
              
              split
              
                (
              
              
                " "
              
              
                )
              
              
new_str 
              
                =
              
               f
              
                "{arr[0].capitalize()} {arr[1].capitalize()}"
              
              
                print
              
              
                (
              
              new_str
              
                )
              
            
          

后來評論中有朋友提到了下面的方法,這里感謝這位朋友提醒。方案如下

            
              "hello world".title()

            
          

非常簡單一句話搞定。

  1. 如何檢測字符串中只含有數(shù)字?

答:可以通過 isdigit 方法,例子如下

            
              s1 
              
                =
              
              
                "12223"
              
              
                .
              
              isdigit
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              s1
              
                )
              
              

s2 
              
                =
              
              
                "12223a"
              
              
                .
              
              isdigit
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              s2
              
                )
              
              
                #結(jié)果如下:
              
              
                #True
              
              
                #False
              
            
          
  1. 將字符串"ilovechina"進行反轉(zhuǎn)

答:

            
              s1 
              
                =
              
              
                "ilovechina"
              
              
                [
              
              ::
              
                -
              
              
                1
              
              
                ]
              
              
                print
              
              
                (
              
              s1
              
                )
              
            
          
  1. Python 中的字符串格式化方式你知道哪些?

答:%s,format,fstring(Python3.6 開始才支持,現(xiàn)在推薦的寫法)

  1. 有一個字符串開頭和末尾都有空格,比如“ adabdw ”,要求寫一個函數(shù)把這個字符串的前后空格都去掉。

答:因為題目要是寫一個函數(shù)所以我們不能直接使用 strip,不過我們可以把它封裝到函數(shù)啊

            
              
                def
              
              
                strip_function
              
              
                (
              
              s1
              
                )
              
                return
              
               s1
              
                .
              
              strip
              
                (
              
              
                )
              
              

s1 
              
                =
              
              
                " adabdw "
              
              
                print
              
              
                (
              
              strip_function
              
                (
              
              s1
              
                )
              
              
                )
              
            
          
  1. 獲取字符串”123456“最后的兩個字符。

答:切片使用的考察,最后兩個即開始索引是 -2,代碼如下

            
              a 
              
                =
              
              
                "123456"
              
              
                print
              
              
                (
              
              a
              
                [
              
              
                -
              
              
                2
              
              ::
              
                ]
              
              
                )
              
            
          
  1. 一個編碼為 GBK 的字符串 S,要將其轉(zhuǎn)成 UTF-8 編碼的字符串,應(yīng)如何操作?

答:

            
              a
              
                =
              
              
                "S"
              
              
                .
              
              encode
              
                (
              
              
                "gbk"
              
              
                )
              
              
                .
              
              decode
              
                (
              
              
                "utf-8"
              
              
                ,
              
              
                'ignore'
              
              
                )
              
              
                print
              
              
                (
              
              a
              
                )
              
            
          
  1. (1)s=“info:xiaoZhang 33 shandong”,用正則切分字符串輸出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]。(2)a = "你好 中國 ",去除多余空格只留一個空格。

答:

(1)我們需要根據(jù)冒號或者空格切分

            
              
                import
              
               re
s 
              
                =
              
              
                "info:xiaoZhang 33 shandong"
              
              
res 
              
                =
              
               re
              
                .
              
              split
              
                (
              
              r
              
                ":| "
              
              
                ,
              
               s
              
                )
              
              
                print
              
              
                (
              
              res
              
                )
              
            
          

(2)

            
              s 
              
                =
              
              
                "你好     中國  "
              
              
                print
              
              
                (
              
              
                " "
              
              
                .
              
              join
              
                (
              
              s
              
                .
              
              split
              
                (
              
              
                )
              
              
                )
              
              
                )
              
            
          
  1. (1) 怎樣將字符串轉(zhuǎn)換為小寫。 (2) 單引號、雙引號、三引號的區(qū)別?

答: (1) 使用字符串的 lower() 方法。

(2)單獨使用單引號和雙引號沒什么區(qū)別,但是如果引號里面還需要使用引號的時候,就需要這兩個配合使用了,然后說三引號,同樣的三引號也分為三單引號和三雙引號,兩個都可以聲名長的字符串時候使用,如果使用 docstring 就需要使用三雙引號。

數(shù)據(jù)類型 - 列表

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

答:

            
              list(set(AList))

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

答:

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

            
          
  1. 給定兩個 list,A 和 B,找出相同元素和不同元素

答:

            
              A、B 中相同元素:print(set(A)&set(B)) 
A、B 中不同元素:print(set(A)^set(B))

            
          
  1. [[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)

            
          
  1. 合并列表 [1,5,7,9] 和 [2,2,6,8]

答:使用 extend 和 + 都可以。

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

            
          
  1. 如何打亂一個列表的元素?

答:

            
              import random

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

            
          

數(shù)據(jù)類型 - 字典

  1. 字典操作中 del 和 pop 有什么區(qū)別

答:del 可以根據(jù)索引(元素所在位置)來刪除的,沒有返回值。 pop 可以根據(jù)索引彈出一個值,然后可以接收它的返回值。

  1. 按照字典的內(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"]))

            
          
  1. 請合并下面兩個字典 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})

            
          
  1. 如何使用生成式的方式生成一個字典,寫一段功能代碼。

答:

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

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

            
          
  1. 如何把元組 (“a”,“b”) 和元組 (1,2),變?yōu)樽值?{“a”:1,“b”:2}

答 zip 的使用,但是最后記得把 zip 對象再轉(zhuǎn)換為字典。

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

            
          

數(shù)據(jù)類型 - 綜合

  1. 下列字典對象鍵類型不正確的是?

    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 因為只有可 hash 的對象才能做字典的鍵,列表是可變類型不是可 hash 對象,所以不能用列表做為字典的鍵。

  1. 如何交換字典 {“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()))

            
          
  1. Python 里面如何實現(xiàn) tuple 和 list 的轉(zhuǎn)換?

答: Python 中的類型轉(zhuǎn)換,一般通過類型強轉(zhuǎn)即可完成 tuple 轉(zhuǎn) list 是 list() 方法 list 轉(zhuǎn) tuple 使用 tuple() 方法

  1. 我們知道對于列表可以使用切片操作進行部分元素的選擇,那么如何對生成器類型的對象實現(xiàn)相同的功能呢?

答: 這個題目考察了 Python 標(biāo)準(zhǔn)庫的 itertools 模快的掌握情況,該模塊提供了操作生成器的一些方法。 對于生成器類型我們使用 islice 方法來實現(xiàn)切片的功能。例子如下

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

            
          
  1. 請將 [i for i in range(3)] 改成生成器

答:通過把列表生產(chǎn)式的中括號,改為小括號我們就實現(xiàn)了生產(chǎn)器的功能即,

            
              (i for i in range(3))

            
          
  1. a=“hello” 和 b=“你好” 編碼成 bytes 類型

答: 這個題目一共三種方式,第一種是在字符串的前面加一個 b,第二種可以使用 bytes 方法,第三種使用字符串 encode 方法。具體代碼如下,abc 代表三種情況

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

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

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

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

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

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

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


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国内精品久久影视 | 欧美久久视频 | 国产日韩欧美精品在线 | 美女视频黄视大全视频免费网址 | 99久久精品国产一区二区成人 | 免费一看一级毛片人 | 日本欧美一二三区色视频 | 色综合激情网 | 国产成人99精品免费观看 | 久久99视频 | 在线 色 | 91亚洲国产系列精品第56页 | 天天想天天干 | 四虎影院中文字幕 | 黄色毛片免费在线观看 | 国产成人综合精品 | 欧美成综合网网站 | 中文乱码字幕午夜无线观看 | 天天干天天射天天插 | 国产深夜视频 | 久久精品国产99国产精品澳门 | 视频国产91| 国产高清在线精品一区a | 女bbbbxxx | 国产一区自拍视频 | 毛片18| 在线欧美日韩国产 | 亚洲一区在线免费观看 | 亚洲不卡一区二区三区在线 | 免费观看毛片 | 337p日本大胆欧美人术艺术6 | 最新69成人精品毛片 | 老妇女人一级毛片 | 丹武至尊在线观看动漫 | 在线视频 二区 | 亚洲一级毛片在线播放 | 亚洲欧美日韩高清一区二区一 | 久久久中文字幕 | 一区二区三区在线视频观看 | 色综合五月婷婷 | 精品国产你懂的在线观看 |