牛客網python考題筆記

2021-10-17 07:55:25 字數 3120 閱讀 7199

一,賦值問題

list1 =

list2 = list1

list1[『1』] = 5

sum = list1[『1』] + list2[『1』]

print(sum)-------------------------------------------》5+5=10

賦值: 只是複製了新物件的引用,不會開闢新的記憶體空間

賦值就是引用如b = a: 賦值引用,a 和 b 都指向同乙個物件。

a = 「2」

b = 「a」

b和a理解為引用,a指標和b引用都指向字串2這個記憶體

二,切片操作不會引起下標越界異常,但通過下標訪問會越界

list = [『1』, 『2』, 『3』, 『4』, 『5』]

print list[10:]

輸出print(list[10])

indexerror: list index out of range

三,[-5,257)之間的小整數共用乙個記憶體位址

已知a = [1, 2, 3]和b = [1, 2, 4],那麼id(a[1])==id(b[1])的執行結果 ()

true

四,endswith(suffix,2)

str = 「hello,python」;

suffix = 「python」;

print (str.endswith(suffix,2));-----------------------------------》true

str.endswith(suffix,2) 中的2是指:從字串"hello,python" 中的位置2,也就是第乙個『l』開始檢索,判斷是否以suffix結尾,故本題輸出 true

五,input的使用

python2.x中input()和raw_input()都存在

raw_input():接受任何型別的輸入,返回的物件型別為字串

input():等價於eval(raw_input()),它希望讀取乙個合法的python表示式,所以當輸入字串時,需要給輸入的內容新增單/雙引號。此外,python2.x中input()具有乙個特性:當輸入的型別為數字時,返回的物件型別也為數字。

python3.x中,只有input()函式

input():接受任何型別的輸入,返回的物件型別為字串。

六,lambda表示式

lambda語句中,冒號前是引數,可以有多個,用逗號隔開,冒號右邊的返回值。

def f(x):

return x**2

print f(4)

python中使用lambda的話,寫成這樣

g = lambda x : x**2

print g(4)

七,map函式

map(a,b)

用a規則來執行b,然後把執行的每乙個結果放到乙個map的類物件裡

map(lambda x: x + 3, a[1::3])

八,字典的取值

dict.get(key, default=none) 返回指定key在字典中的值,如果key在字典中不存在則返回default的值(default值預設為none,也可以自己指定);

對比記憶:

dict[『key』] 返回指定key在字典中的值,如果key則字典中不存在,則直接報錯

dict.setdefault(key,default=none) 如果key在字典中存在,則返回key在字典中指定的值;如果key值不存在,則預設將key新增到字典中去,並將其值設定為default(default預設值為none,也可以自己指定)

九,try,except,else,finally

try:的語句出現異常才會執行except後的語句,如果正常,則執行完try後執行else。另外,finally語句不管有無異常都會執行。

else可以理解為except的else,except不執行就執行else

try:

待檢查語句

except name1:

異常1處理語句

except name2:

異常2處理語句

except:

異常通用處理語句

else:

待檢查語句無異常發生時要被執行的語句

finally:

無論有無異常發生都一定會被執行的語句

十,類中的變數名字十一,哪些東西是false

下列物件的布林值都是false:

none;

false(布林型別)

所有的值為零的數

0(整型)

0.0(浮點型)

0l(長整型)

0.0+0.0j(複數)

「」(空字串)

()(空元組)

{}(空字典)

執行緒協程

執行緒由作業系統控制,

協程由程式自身控制

模組匯入物件

import module_a #匯入

from module import xx

from module.xx.xx import xx as rename #匯入後重命令

from module.xx.xx import * #匯入乙個模組下的所有方法,不建議使用

module_a.*** #呼叫

sys.ar**是傳遞給python指令碼的命令列引數【字串】列表

ar**[0]為該指令碼自身路徑,其餘為命令列引數

「none」 0 python2.7中/除法運算不會保留小數字,python3會保留小數字,用//代表整除; print 逗號 表示同一行輸出,並以空格分隔

下列語句執行結果是什麼?

a = [1, 2, 3]

print a*3

參***

[1, 2, 3, 1, 2, 3, 1, 2, 3]

➕用於組合列表,✖️用於重複列表

牛客網刷題筆記

今天在牛客網刷了一道求最長字串是回文數的長度,剛開始的時候,我用兩個指標,乙個指前邊,乙個指後邊,對比兩個指標指向的值,相等則前邊的指標後移,後邊的指標前移,然後再判斷是否相等,如果不相等,那麼就不是回文數,前邊的指標回到第一次開始的地方,後邊的指標回到第一次開始的地方,前邊的指標再自加後移移位,然...

牛客網 學習筆記整理

2017 11 11 2017 12 03 八次課程整理,寫在每篇散落的部落格中,此部落格為總結目錄,方便以後查詢。近期會不斷更新,可能會比較慢 最近好忙,捂臉逃跑中 03 17 2018 更新 將全部九次課的內容目錄貼在下面這篇部落格中,只提供思路,不貼 方便以後查閱。目錄部落格 1 各大排序演算...

牛客網學習筆記(20181021)

本博文主要記錄個人在牛客網做專項練習遇到的重難點,若感興趣可自行練習!為 3 paint 函式在每一次瀏覽器顯示頁面時被呼叫 4 最小化被點開 頁面重新顯示,之前程序還在 paint 函式被呼叫。2.關於socket通訊 1 客戶端通過new socket 方法建立通訊的socket物件 2 伺服器...