列表生成式:
格式:[expression for i in 序列 if …]
題目1:
生成乙個列表,列表元素分別為[12,22,32,…n2]
一般方法:
for i in range(1,9):
print(li)
結果:[1, 4, 9, 16, 25, 36, 49, 64]
列表生成方式:
print([i ** 2 for i in range(1,9)])
結果:[1, 4, 9, 16, 25, 36, 49, 64]
題目2:
找出1-10之間的所有偶數並返回乙個列表(包含以這個偶數為半徑的圓的面積
import math
a = math.pi
print(a) ##π可以使用math.pi匯入
print([math.pi * r * r for r in range(2,11,2)])
結果:3.141592653589793
[12.566370614359172, 50.26548245743669, 113.09733552923255, 201.06192982974676, 314.1592653589793]
題目3:
找出1~100之間所有的質數
def isprime(num):
for i in range(2,num):
if num % i == 0:
return false ###只有乙個能被整數的數就返回false###
else:
return true
print([i for i in range(2,101) if isprime(i)])
字典生成式:
題目1:
將所有的key值變為大寫
d = dict(a=1,b=2)
print(d)
new_d = {}
for i in d:
new_d[i.upper()] = d[i]
# print('key轉化為大寫的字典:',new_d)
print()
結果:
題目2:
將大小寫key值並值,統一以小寫輸出
例子:d = dict(a=2,b=1,c=2,b=9,a=10)
輸出一般做法:
new_d = {}
for k,v in d.items():
low_k = k.lower()
if low_k not in new_d:
new_d[low_k] = v
else:
new_d[low_k] += v
print(new_d)
結果:
字典生成式做法:
print()
##.get(key,x) 的用法:如果key值存在,則返回對應的value值,否則返回x
結果:
python生成式 列表 字典 集合
python的3類生成式 列表生成式 字典生成式 集合生成式 1 python列表生成式 my data 1,2,3 4,5,6 7,8,9 print my data s my data rows to keep row for row in my data if row 2 5 print ro...
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之間的所...
Python 列表生成式 字典生成式
通過生成式可以更加簡潔地生成列表和字典 列表生成式 對比 直接生成資料後加入列表示例 user list list for i in range 10 2 print user list 通過列表生成式直接生成示例 user list x 2for x in range 10 print user ...