1.列表生成式及其基本應用
列表生成式即list comprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。
集合生成式、字典生成式、列表生成式格式都一樣,就看最後向生成什麼,就用什麼括號
格式:[expression for i in 序列 if…]==表示式+迴圈+條件
列表生成式的應用:
一般方法
s ='51 500 1000'
li =
for item in s.split():
int(item)
)print
(li)
列印結果[51
,500
,1000
]使用列表生成式
s ='51 500 1000'
li =
k,a,b =
[int
(item)
for item in s.split()]
print
(k,a,b)
51500
1000
生成乙個列表,各項分別為1~10的平方[12,22,32,42,…,10**2]
li =
for i in
range(1
,11):
2)列印結果
print
(li)[1
,4,9
,16,25
,36,49
,64,81
,100
]使用生成式
print
([i **
2for i in
range(1
,11)]
)列印結果[1
,4,9
,16,25
,36,49
,64,81
,100
]
生成乙個列表,列表元素為1~10之間的所有偶數各自的平方
print
([i **
2for i in
range(1
,11)if i %2==
0])列印結果[4
,16,36
,64,100
]
找出1~num之間的所有質數
def
isprime
(num)
: isprime判斷是不是素數
for i in
range(2
,num)
:1不是質數也不是合數
if num % i ==
0: 判斷在2
-num之間的數值是否可以被num整除,是就是假
return
false
else
: 不是為真
return
true
print
([i for i in
range(1
,20)if isprime(i)])
列印結果[1
,2,3
,5,7
,11,13
,17,19
]
key --> upper(鍵大寫)
列如:d = dict(a=1,b=2) 使k值變為大寫字母
方法一
d =
dict
(a=1
,b=2
)new_d =
for i in d:
new_d[i.upper()]
= d[i]
print
(new_d)
列印結果
方法二:生成式
d =
dict
(a=1
,b=2
)new_d =
print()
列印結果
大小寫key值合併,統一以小寫輸出
方法一
d=
dict
(a=2
,b=4
,c=8
,a=5
,b=6
)new_d =
for k,v in d.items():
lower_k = k.lower(
)if lower_k not
in new_d:
new_d[lower_k]
= v else
: new_d[lower_k]
+= v
print
(new_d)
列印結果
方法二:生成式
d=
dict
(a=2
,b=4
,c=8
,a=5
,b=6
)new_d =
#0表示若沒有找到k.lower對應的value值時用0替代
print()
列印結果
get() 函式返回指定鍵的值,如果值不在字典中返回預設值
語法get()方法語法:
dict
.get(key, default=
none
)
引數
key – 字典中要查詢的鍵。
default – 如果指定鍵的值不存在時,返回該預設值。
返回指定鍵的值,如果值不在字典中返回預設值none
python列表生成式應用案例
什麼是列表生成式?列表生成式可以帶來什麼好處,應用案例為你解答!列表生成式呢 顧名思義,列表生成式就是乙個用來生成列表的特定語法形式的表示式。例如我們需要生成乙個列表,由0到9組成,那我們就可以這樣寫 list1 0,1,2,3,4,5,6,7,8,9 感覺,手動寫這10個數字還好,但是,有時候,測...
python列表生成式及相關操作
乙個需求,員工的稅前工資儲存在乙個叫salty的列表中,現在需要把所有員工的稅後工資計算出來,並存放到乙個aftertaxsalty的列表中,假設稅率為10 1.正常的操作 salty 10000,9000,12000,14500,13000 aftertaxsalty list for one i...
python 列表生成式,字典生成式
生成乙個列表,列表元素分別為 1 1,2 2.9 9 import math li for i in range 1,10 print li print i i for i in range 1,10 print i i for i in range 1,10 if i 2 0 找出1 10之間的所...