去面試Python工程師,這幾個基礎問題一定要能回答,Python面試題No4


今天的面試題以基礎為主,去面試Python工程師,這幾個基礎問題不能答錯

第1題:列表和元組有什么不同?

列表和元組是Python中最常用的兩種數據結構,字典是第三種。

相同點:

  • 都是序列
  • 都可以存儲任何數據類型
  • 可以通過索引訪問

語法差異

使用方括號[]創建列表,而使用括號()創建元組。

是否可變

列表是可變的,而元組是不可變的,這標志着兩者之間的關鍵差異。

重用與拷貝

元組無法復制。 因為元組是不可變的,所以運行tuple(tuple_name)將返回自己

內存開銷

Python將低開銷的較大的塊分配給元組,因為它們是不可變的。
列表則分配小內存塊
與列表相比,元組的內存更小。 '
當你擁有大量元素時,元組比列表快。
列表的長度是可變的。

第2題:什么是負索引?

Python中的序列索引可以是正也可以是負

如果是正索引,0是序列中的第一個索引,1是第二個索引。
如果是負索引,-1是最后一個索引,-2是倒數第二個索引。

	lst=[11,22,33,44,55]

全取列表

>>> lst[:]
[11, 22, 33, 44, 55]

取不到最后一個元素

>>> lst[:-1] # 注意這里不能輸出55,因為切片操作都是左閉右開的
[11, 22, 33, 44]

列表倒序

>>> lst[::-1]
[55, 44, 33, 22, 11]

取最后一個

>>> lst[-1]
55

取第一個

>>> lst[0]
11

第3題: 如何隨機打亂列表中元素,要求不引用額外的內存空間?

用 random 包中的 shuffle() 函數來實現

import random
random.shuffle(你的列表)
# 舉個例子:
L1 = [1, 3, 5, 7]
random.shuffle(L1)

第4題:解釋 Python 中的 join() 和 split() 函數?

join() 函數可以將指定的字符添加到字符串中

‘1,2,3,4,5’
a=','.join('123456')
print(a)
print(type(a))

#1,2,3,4,5,6

#<class 'str'>

split() 函數可以用指定的字符分割字符串

[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
a='1,2,3,4,5,6'.split(',')
print(a)
print(type(a))


#['1', '2', '3', '4', '5', '6']
#<class 'list'>

第5題:如何刪除字符串中的前置空格?

  1. strip():把頭和尾的空格去掉
  2. lstrip():把左邊的空格去掉
  3. rstrip():把右邊的空格去掉
  4. replace('c1','c2'):把字符串里的c1替換成c2。故可以用replace(' ','')來去掉字符串里的所有空格
  5. split():通過指定分隔符對字符串進行切片,如果參數num 有指定值,則僅分隔 num 個子字符串
  6. re.split(r'\s+', 'a b c') # 使用正則表達式

第6題:Python 中的 pass 語句有什么作用?

在編寫代碼時只寫框架思路,具體實現還未編寫就可以用 pass 進行占位,使程序不報錯,不會進行任何操作。

比如:

while False:
	pass

pass通常用來創建一個最簡單的類:

class MyEmptyClass:
	pass

pass在軟件設計階段也經常用來作為TODO,提醒實現相應的實現,比如:

def readtxt(*args):
	pass # to do list

第7題:解釋 Python 中的成員運算符?

成員運算符

in 是判斷是否包含

通過成員運算符‘in’ 和 ‘not in’,確認一個值是否是另一個值的成員。

print('me' in 'disappointment')#True
print('us' in 'disappointment')#False

身份運算符

is 是判斷內存地址

  • is 是判斷兩個標識符是不是引用自一個對象
  • is not 是判斷兩個標識符是不是引用自不同對象

tops: in 的 not 在前,is 的 not 在后

微信搜索:非本科程序員,關注吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM