面試題以基礎為主,去面試python工程師,這幾個基礎問題不能答錯
列表和元組是python中最常用的兩種資料結構,字典是第三種。
相同點:
1、都是序列
2、都可以儲存任何資料型別
3、可以通過索引訪問
使用方括號建立列表,而使用括號()建立元組。
列表是可變的,而元組是不可變的,這標誌著兩者之間的關鍵差異。
元組無法複製。 因為元組是不可變的,所以執行tuple(tuple_name)將返回自己
python將低開銷的較大的塊分配給元組,因為它們是不可變的。
列表則分配小記憶體塊。
與列表相比,元組的記憶體更小。 '
當你擁有大量元素時,元組比列表快。
列表的長度是可變的。
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
用 random 包中的 shuffle() 函式來實現
import random
random.shuffle(你的列表)
# 舉個例子:
l1 = [1, 3, 5, 7]
random.shuffle(l1)
join() 函式可以將指定的字元新增到字串中
『1,2,3,4,5』
a=','.join('123456')
print(a)
print(type(a))
#1,2,3,4,5,6
#
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']
#
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') # 使用正規表示式
在編寫**時只寫框架思路,具體實現還未編寫就可以用 pass 進行佔位,使程式不報錯,不會進行任何操作。
比如:
while false:
pass
pass通常用來建立乙個最簡單的類:
class myemptyclass:
pass
def readtxt(*args):
pass # to do list
in 是判斷是否包含
通過成員運算子『in』 和 『not in』,確認乙個值是否是另乙個值的成員。
is 是判斷記憶體位址
1、is 是判斷兩個識別符號是不是引用自乙個物件
2、is not 是判斷兩個識別符號是不是引用自不同物件
tops: in 的 not 在前,is 的 not 在後
幾個程式設計師面試題
開鎖 在一條長長的走廊上一次排列著100把鎖著的鎖頭,你從把這100把鎖全部開啟開始 第一遍 然後,你把所有序號是2的倍數的鎖頭再鎖上 第2遍 接下來,你依次找到所有序號是3的倍數的鎖頭前,如果它是開啟的,就把它鎖上,如果它是鎖上的,就把它開啟 我們把這稱為 切換鎖的狀態 第3遍 即繼續拿這樣在第n...
程式設計師面試的幾個要點
紮實的基礎知識 高質量的 清晰的思路 優化 的能力 優秀的綜合能力是程式設計技術面試的五大要點。找工作一直是乙個熱門話題。要想找到心儀的工作,難免需要經過多輪面試。程式設計面試是程式設計師面試過程中最為重要的乙個環節。如果能在程式設計面試的環節充分展示自己的能力,那麼拿到中意的 offer 就是水到...
程式設計師面試
1.內聯函式和巨集的差別 內聯函式要做引數型別檢查,這是內聯函式和巨集相比的優勢 2.指標和引用的區別 1 非空區別。乙個引用不能指向空值,必須指向乙個物件。指標可以為空。2 合法性區別。使用引用不用檢測其合法性,但指標必須先檢查是否合法。3 可修改區別。指標在初始化之後還可以修改其指向的內容,但是...