Python面试题总结(6)--数据类型(综合)
生活随笔
收集整理的這篇文章主要介紹了
Python面试题总结(6)--数据类型(综合)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. Python 里面如何實現 tuple 和 list 的轉換?
答:
Python 中的類型轉換,一般通過類型強轉即可完成
tuple 轉 list 使用 list() 方法
list 轉 tuple 使用 tuple() 方法
2. 我們知道對于列表可以使用切片操作進行部分元素的選擇,那么如何對生成器類型的對象實現相同的功能呢?
答: 這個題目考察了 Python 標準庫的 itertools 模快的掌握情況,該模塊提供了操作生成器的一些方法。 對于生成器類型我們使用 islice 方法來實現切片的功能。例子如下
from itertools import islice gen = iter(range(10)) #iter()函數用來生成迭代器, # 第一個參數是迭代器,第二個參數起始索引,第三個參數結束索引,不支持負數索引 for i in islice(gen,0,4):print(gen)print(i)運行結果:
<range_iterator object at 0x00000000021484F0> 0 <range_iterator object at 0x00000000021484F0> 1 <range_iterator object at 0x00000000021484F0> 2 <range_iterator object at 0x00000000021484F0> 3相關鏈接
3. 請將 [i for i in range(3)] 改成生成器
答:
通過把列表生產式的中括號,改為小括號我們就實現了生產器的功能即,
運行結果:
<generator object <genexpr> at 0x00000184F7962ED0>關于生成器的詳細資料,請參考博客:生成器
4. a=“hello” 和 b=“你好” 編碼成 bytes 類型
答: 這個題目一共三種方式,第一種是在字符串的前面加一個 b,第二種可以使用 bytes 方法,第三種使用字符串 encode 方法。具體代碼如下,abc 代表三種情況
a = b"hello" b = bytes("你好", "utf-8") c = "你好".encode("utf-8") print(a, b, c)運行結果:
b'hello' b'\xe4\xbd\xa0\xe5\xa5\xbd' b'\xe4\xbd\xa0\xe5\xa5\xbd'5. 下面的代碼輸出結果是什么?
a = (1,2,3,[4,5,6,7],8)
a[2] = 2
答: 我們知道元組里的元素是不能改變的所以這個題目的答案是出現異常。
6. 下面的代碼輸出的結果是什么?
a = (1,2,3,[4,5,6,7],8)
a[3][0] = 2
答:元組的里元素是不能改變的,這句話嚴格來說是不準確的,如果元組里面元素本身就是可變類型,比如列表,那么在操作這個元素里的對象時,其內存地址也是不變的。a[3] 對應的元素是列表,然后對列表第一個元素賦值,所以最后的結果是: (1,2,3,[2,5,6,7],8)
7. response.text和response.content的區別:
總結
以上是生活随笔為你收集整理的Python面试题总结(6)--数据类型(综合)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树莓派从零开始学习记录
- 下一篇: Python--协程(gevent模块)