print('張穎', '張娜', '張夢', '張悅', end = ' ') # 以什麼爲結尾,默認是回車 # 張穎 張娜 張夢 張悅 print('張穎', '張娜', '張夢', '張悅', sep = '_') # 鏈接符,默認是空格 # 張穎_張娜_張夢_張悅
二、hash() 數字算出來就是數字自己,其餘的數據類型算完依託很長的數字 函數
print (hash(12345)) # 12345 print(hash('你是誰')) # 1399596852175174770
def func(): print('as') an = '' print(callable(func)) # True print(callable(an)) # False
lis = ['中國','美國','日本'] # for i in range(lis): # print(i,lis[i]) # enumerate(iterable[, start]) -> iterator for index, value of iterable for i, el in enumerate(lis,1): print(i,el)
1三、all() any() spa
print(all([1, 3, 5, 'ha'])) # and print(any([1, False, None])) # or
1四、zip() # 拉鍊函數 水桶效應 code
lst1 = ["趙四", "劉能", "香秀"] lst2 = ["劉曉光", "王小利"] # 水桶效應 lst3 = ["街舞", "磕巴", "哭"] z = zip(lst1, lst2, lst3) print(list(z)) #[('趙四', '劉曉光', '街舞'), ('劉能', '王小利', '磕巴')]
fn = lambda a, b: a+b fn = fn(3, 4) print(fn)
lst = [34,56,78,32,12,34,90] print(sorted(lst))
# 按名字長度排序 names = ['張穎一','影','關穀神奇','阿蘇','慕容東方曉'] def func(s): return len(s) # 返回長度 # 執行流程 # 把可迭代對象中的每一項拿出來,做爲參數傳遞給後面的key函數 # 函數返回數字,根據數字進行排序 s = sorted(names,key=func) print(s) # ['影', '阿蘇', '張穎一', '關穀神奇', '慕容東方曉'] # 另外一種方法 print(sorted(names,key=lambda s : len(s)))
names = ['張穎一','張影','關穀神奇','阿蘇','慕容東方曉'] # 過濾掉姓張的人 # 把可迭代對象打開,把內部元素一個一個的傳遞給前面的函數,由這個函數決定此項是否保留 f = filter(lambda name : not name.startswith('張'),names) print("__iter__" in dir(f)) # 可迭代對象 for el in f: print(el)
def func(e): return e ** 2 lst = [2,45,67,32,6] mp = map(func,lst) print(mp) print(list(mp)) # 用lambda m = map(lambda i : i **2 , lst) print(list(m))
# 計算兩個列表中相同位置的和 lst1 = [2,4,6,8,9] lst2 = [1,3,5,7,10] m = map(lambda x,y : x + y,lst1,lst2) print(list(m))
四、eval() 執行字符串類型的代碼,並返回最終結果對象
print(eval("2+2")) # 4 n = 8 print(eval("2+n")) # 10 def func(): print(666) eval("func()") # 666
五、exec() 執行字符串類型的代碼blog
exec(''' for i in range(10): print(i) ''')
code1 = "for i in range(10):print(i)" c1 = compile(code1,"",mode="exec") exec(c1) code2 = "1+4+8" c2 = compile(code2,"", mode="eval") a = eval(c2) print(a) code3 = "name = input('請輸入你的名字:')" c3 = compile(code3,"", mode="single") exec(c3) print(exec(c3))
有返回值的字符串形式的代碼用eval(),沒有返回值的字符串形式的代碼用exec(),通常不多用到compile() 排序