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)] 改成生成器

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

a = (i for i in range(3))
print(a)

運行結果:

<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的區別:

  1. response.content:這個是直接從網絡上面抓取的數據。沒有經過任何解碼。所以是一個bytes類型。其實在硬盤上和在網絡上傳輸的字符串都是bytes類型。
  2. response.text:這個是str的數據類型,是requests庫將response.content進行解碼的字符串。解碼需要指定一個編碼方式,requests會根據自己的猜測來判斷編碼的方式。所以有時候可能會猜測錯誤,就會導致解碼產生亂碼。這時候就應該使用response.content.decode('utf-8')進行手動解碼。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452795.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452795.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452795.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

項目經理需要的思維批判

想做好項目經理&#xff0c;就一定要改變你的思維方式。這對于技術出身的朋友尤其重要。 清末人們自以為天朝&#xff0c;他國皆為蠻夷。結果如何呢&#xff1f;喪師辱國&#xff0c;自己淪為病夫。其根本莫非自己腦筋不對頭&#xff1f;后來又搞洋務運動&#xff0c;以為洋人…

NavigationView更改菜單icon和title顏色變化效果

NavigationView menu默認icon和title會隨著菜單狀態改變而改變&#xff0c;選擇某個菜單后再次打開側邊菜單后會發現該菜單的icon和title會變成應用的主顏色&#xff0c;其他菜單項仍然為黑色。 如果想關閉系統默認的這個效果&#xff0c;有兩種方式&#xff1a; 1. XML布局文件…

java項目打鏡像_docker通過dockerfile打java項目鏡像

環境&#xff1a;centos7思路&#xff1a;java -jar 啟動的項目打包成docker images進行運行創建dockerfile——>創建shell腳本——>打包images1、dockerfile內容如下[rootk8s-master xxl-execl]# more dockerfile#網上拖取java8的鏡像FROM java:8MAINTAINER zhangshan-m…

什么是數據庫

數據庫&#xff08;Database&#xff0c;簡稱DB&#xff09;是長期儲存在計算機內、有組織的、可共享的大量數據的集合。1.數據庫的基本特征2.數據按一定的數據模型組織、描述和儲存3.可為各種用戶共享4.冗余度較小5.數據獨立性較高6.易擴展

NumPy常用屬性及方法

NumPy是高性能科學計算和數據分析的基礎包。部分功能如下&#xff1a; ndarray, 具有矢量算術運算和復雜廣播能力的快速且節省空間的多維數組。用于對整組數據進行快速運算的標準數學函數&#xff08;無需編寫循環&#xff09;。用于讀寫磁盤數據的工具以及用于操作內存映射文件…

Windows下gmssl使用記錄

使用gmssl進行計算sm4&#xff0c;編譯的版本是gmssl2.0&#xff0c;2.1版本編譯不過去 第一步下載軟件&#xff0c;下載Visual Studio 2010旗艦版、nasm-2.13.03-installer-x86、ActivePerl-5.22.4.2205-MSWin32-x86-64int-403863這三個軟件&#xff0c; 注意vs版本不能太低&a…

公司管理項目管理中的技巧

如果在項目實施中選出最難解決的幾個問題&#xff0c;那么管理問題一定名列前茅。在管理問題中&#xff0c;團隊管理又是其中的難點。一個項目管理的好壞&#xff0c;很大程度就體現在團隊的建設和管理上。團隊管理涉及到管理學、心理學和哲學等諸多方面內容&#xff0c;具體實…

數據庫管理系統

什么是數據庫管理系統位于用戶與操作系統之間的一層數據管理軟件是基礎軟件&#xff0c;是一個大型復雜的軟件系統 數據庫管理系統的用途科學地組織和存儲數據、高效地獲取和維護數據數據定義功能提供數據定義語言&#xff08;DDL&#xff09;定義數據庫中的數據對象數據組織、…

kangle服務器搭建java_linux下kangle虛擬主機-架設java空間的教程及心得

1. chmod x jdk-6u31-linux-i586-rpm.bin2. ./jdk-6u31-linux-i586-rpm.bin復制代碼(注&#xff1a;如果下載的版本不同輸入實際版本)2.下載插件包:1. wget http://www.kanglesoft.com/download/ent/easypanel-tomcat-lin-1.0.tar.gz2. tar xzf easypanel-tomcat-lin-1.0.tar.g…

Django項目--登錄判斷裝飾器

view.py中定義登錄判斷裝飾器函數 def login_required(view_func):登錄判斷裝飾器def wrapper(request, *view_args, **view_kwargs):# 判斷用戶是否登錄if request.session.has_key(islogin):# 用戶已登錄,調用對應的視圖return view_func(request, *view_args, **view_kwarg…

Apple著手拋棄32位macOS應用程序

\看新聞很累&#xff1f;看技術新聞更累&#xff1f;試試下載InfoQ手機客戶端&#xff0c;每天上下班路上聽新聞&#xff0c;有趣還有料&#xff01;\\\Apple已經著手拋棄macOS上的32位應用程序了。macOS的下一個維護更新版本High Sierra 10.13.4將會在用戶打開32位應用程序時對…

HiveQL與SQL區別

1、Hive不支持等值連接 ?SQL中對兩表內聯可以寫成&#xff1a;?select * from dual a,dual b where a.key b.key;?Hive中應為?select * from dual a join dual b on a.key b.key; 而不是傳統的格式&#xff1a;SELECT t1.a1 as c1, t2.b1 as c2FROM t1, t2WHERE t1.a2 t…

Django項目--csrf攻擊

1.案例流程圖&#xff1a; 2.django防止csrf的方式&#xff1a; 1 ) Django中默認打開csrf中間件。settings.py文件中&#xff1a; MIDDLEWARE_CLASSES (django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware,django.middlewar…

數據庫管理系統與數據庫系統

數據庫&#xff1a;容納數據的倉庫。數據庫系統&#xff1a;數據庫、數據庫管理系統、硬件、操作人員的合在一起的總稱。數據庫管理系統&#xff1a;用來管理數據及數據庫的系統。數據庫系統包含數據庫管理系統、數據庫及數據庫開發工具所開發的軟件&#xff08;數據庫應用系統…

如果你扯了團隊后腿,你應該內疚

現在&#xff0c;我看到很多人扯了團隊的后腿&#xff0c;一句道歉就了事&#xff0c;更甚者就以另一種方式來表達&#xff1a;你們沒有給我足夠的培訓&#xff0c;你們的工作方式我無法接受&#xff0c;我工資太低&#xff0c;你們做的事情不夠酷&#xff0c;你們做的事情不賺…

mysql count(*),count(1)與count(column)區別

2019獨角獸企業重金招聘Python工程師標準>>> count(*)對行的數目進行計算&#xff0c;包含NULL count(column)對特定的列的值具有的行數進行計算&#xff0c;不包含NULL值。 count()還有一種使用方式&#xff0c;count(1)這個用法和count(*)的結果是一樣的。 性能問…

Java IO API記錄

文件路徑&#xff1a; public static final String FILEPATH File.separator"Users" File.separator"xuminzhe"File.separator"Documents"File.separator"io"; 1.創建文件 public static void main(String[] args) {File filenew File…

Flask項目--預防csrf攻擊原理

1.CSRF機制原理 2.csrf成功攻擊示意圖 3.csrf防御

數據管理技術的發展過程

人工管理階段&#xff08;20世紀50年代中之前&#xff09;文件系統階段&#xff08;20世紀50年代末--60年代中&#xff09;數據庫系統階段&#xff08;20世紀60年代末--現在&#xff09;