學習的時間過的真快,每天都覺得時間不夠用。1. 一行**實現1--100之和看到新的知識點,在查詢資料的過程中,知識網越鋪越大,想一直泡在裡面!
目前了解到pandas庫,操作好強大。略興奮!
這篇是上周末做的練習題筆記,從jupyter notebook中匯出。
多讀書,惜四時!
# 一行**實現1--100之和
# print(sum(list(range(1,101))))
# python中range函式可以生成數字列表,可以直接用在sum函式中。不需要在使用list函式。
print(sum(range(1,101)))
執行結果 :5050
2. 列出5個python標準庫
sys:通常用於命令列引數
re:正則匹配
math:數**算
datetime:處理日期時間
3. 字典如何刪除鍵和合併兩個字典?
刪除:使用pop函式或者del刪除
# 使用del函式刪除字典中鍵值對
alien_0 =
del alien_0['color']
print(alien_0)
執行結果:
#使用pop函式刪除字典鍵值對
alien_0 =
alien_0.pop('color')
print(alien_0)
執行結果:
合併:
z = dict(x.items() + y.items()) 這種方法,對於python3來說,是無法成功執行的。
因為items()返回是個物件。 你必須明確的將它強制轉換成list: z = dict(list(x.items()) + list(y.items()))
#合併方法1:
dict1 =
dict2 =
new_dict = dict(list(dict1.items())+list(dict2.items()))
print(new_dict)
執行結果:
#合併方法2:
dict1 =
dict2 =
new_dict =
print(new_dict)
執行結果:
#合併方法3:
dict1 =
dict2 =
dict3 = {} #定義空字典
dict3.update(dict1)
dict3.update(dict2)
print(dict3)
執行結果:
在上述合併方法中,解釋下update的用法: python字典update()函式將引數字典中的鍵值對更新到dict裡。
語法: dict.update(dict2),dict2是指新增到字典dict裡面的字典。
前提,是定義字典dict,通常定義乙個空字典。
4. python實現列表去重的方法
集合(set)是乙個無序的不重複元素序列。
為剔除重複項,可使用集合(set)。集合set類似於列表,但每個元素必須是獨一無二的。
a = [1,2,3,2,3,1]
print(set(a))
執行結果:
5. fun(args,**kwargs)中的args,**kwargs什麼意思?
args = argument 引數
args 傳入的引數個數是可變的。 *args是用來傳送乙個鍵值對可變數量的引數列表給乙個函式,沒有value值。 乙個星號的作用是將tuple或者list中的元素進行unpack,分開傳入,作為多個引數。
kwargs是keyword argument的縮寫,為關鍵字引數。 關鍵字引數可以傳入任意個帶有引數名的引數,這些引數會在函式內部組裝成乙個字典格式。 兩個星號*的作用是把dict型別的資料作為引數傳入。 *kargs將不定長度的鍵值對,作為引數傳遞給乙個引數,有key-value值。
當函式的引數不確定時,可以使用args 和**kwargs,args 沒有key值,**kwargs有key值。
def this_fun(a,b,*args,**kwargs):
print(a)
print(b)
print(args)
print(kwargs)
this_fun(0,1,2,3,4,index1=11,index2=22,index3=33)
執行結果:
0
1(2, 3, 4)
6. python內建資料型別有哪些?
數字 number:整數型int 布林型bool 浮點型float 複數complex numbers
字串 string 如: "hello world!"
元祖 tuple 如:(1,2,3,'name')
列表 list 如: [1,2,3,4] 字典 dictionary 如:
集合 set
python3以上六個標準資料型別中:
不可變資料(3個): 數字number、字串string、元祖tuple
可變資料(3個):列表list、字典dictionary、集合set
7. 列表[1,2,3,4,5],請使用map()函式輸出[1,4,9,16,25],並使用列表推導式提取出大於10的數,最終輸出[16,25].
# 使用map()函式輸出[1,4,9,16,25]
a = [1,2,3,4,5]
b = list(map(lambda x:x*x,a))
print(b)
執行結果: [1, 4, 9, 16, 25]
# 使用列表推導式提取出大於10的數
data_select = [x for x in b if x>10]
print(data_select)
執行結果: [16, 25]
我也嘗試用for語句寫了段**:
# 使用for語句
a = [1,2,3,4,5]
b = list(map(lambda x:x*x,a))
c =
for i in range(0,len(b)):
if b[i] > 10:
print(c)
執行結果: [16, 25]
8. s = "ajldjlajfdljfddd",去重並從小到大排序輸出"adfjl"。(提示,.需要用到join函式)
s = "ajldjlajfdljfddd"
ss = "".join(sorted(list(set(s))))
print(ss)
執行結果: adfjl
python join() 方法用於將序列中的元素以指定的字元連線生成乙個新的字串
語法: str.join(sequence)
sequence -- 要連線的元素序列
str-- 指定的字元
返回通過指定字元連線序列中元素後生成的新字串。
python 基礎練習題
學了這麼多天的python,也做了一點簡單的練習題,不過這點還不夠,要多做多敲 同樣也要學著理解,只有這樣才能才會進步小結1,怎樣做才能輸出列印乙個九九乘法表?如下 for i in range 1 10,1 for j in range 1 10,1 if j i print f end t pr...
Python 基礎練習題
以下是我在學習python編寫的一些簡單的練習題,題目答案為本人編寫可能不完全正確只供參考 列印乙個如下的圖形 for i in range 2,3 for z in range 3 abs i print end for j in range 2 abs i 1 print end print 輸...
python書中練習題 python練習題
1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...