Python 列表 字典 生成式

2021-09-24 10:50:31 字數 1699 閱讀 6587

列表生成式:

格式:[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 ...