今天的面試題以基礎爲主,去面試Python工程師,這幾個基礎問題不能答錯程序員
列表和元組是Python中最經常使用的兩種數據結構,字典是第三種。面試
相同點:正則表達式
使用方括號[]
建立列表,而使用括號()
建立元組。bash
列表是可變的
,而元組是不可變的
,這標誌着二者之間的關鍵差別。微信
元組沒法複製。 由於元組是不可變的,因此運行tuple(tuple_name)
將返回本身數據結構
Python將低開銷的較大的塊分配給元組,由於它們是不可變的。 列表則分配小內存塊
。 與列表相比,元組的內存更小。 ' 當你擁有大量元素時,元組比列表快。 列表的長度是可變的。app
Python中的序列索引
能夠是正也能夠是負框架
若是是正索引,0是序列中的第一個索引,1是第二個索引。 若是是負索引,-1是最後一個索引,-2是倒數第二個索引。dom
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
#<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'>
複製代碼
在編寫代碼時只寫框架思路,具體實現還未編寫就能夠用 pass 進行佔位,使程序不報錯,不會進行任何操做。
好比:
while False:
pass
複製代碼
pass一般用來建立一個最簡單的類:
class MyEmptyClass:
pass
複製代碼
pass在軟件設計階段也常常用來做爲TODO,提醒實現相應的實現,好比:
def readtxt(*args):
pass # to do list
複製代碼
in 是判斷是否包含
經過成員運算符‘in’ 和 ‘not in’,確認一個值
是不是另外一個值
的成員。
print('me' in 'disappointment')#True
print('us' in 'disappointment')#False
複製代碼
is 是判斷內存地址
tops: in 的 not 在前,is 的 not 在後