python—列表、字典生成式
生活随笔
收集整理的這篇文章主要介紹了
python—列表、字典生成式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 列表生成式
Python內置的一種極其強大的生成列表 list 的表達式。返回結果必須是列表。
示例:
需求1:接收變量 k a b
需求2:生成一個列表,列表的元素分別為[11 22 9**9 ]
# 使用for循環 li = [] for k in range(1,10):li.append(k ** k) print(li)# 使用列表生成式 li2 = [ i**i for i in range(1,10)] print(li2)找出1~10之間的所有偶數
li = [k for k in range(1,11) if k%2==0] print(li)s1 = ‘ABC’ s2=‘123’ 輸出 A1 A2 A3…C1 C2 C3
s1 = 'ABC' s2 = '123' li = [ i+k for i in s1 for k in s2] print(li)list1 = [[1,2,3],[4,5,6],[7,8,9]]
將其改變成:li = [1,2,3,4,5,6,7,8,9]
內置函數chain,其參數為任意個序列 返回值為所有序列中的所有元素
找出1~10之間的所有偶數,
并且返回一個列表(包含以這個偶數為半徑的圓的面積)
找出1~100之間的所有素數
#定義函數 判斷一個數字數否為質數 def prime(i):for k in range(2,i):if i%k ==0:return Falseelse:return True #使用列表生成式以及定義好的函數,直接得到所有的素數列表 li = [ r for r in range(2,100) if prime(r)] print(li)(2018-騰訊-在線編程題)
- 題目描述:
給定一個正整數,編寫程序計算有多少對質數的和等于輸入的這個正整數,并輸出結果。輸入值小于1000。
如,輸入為10, 程序應該輸出結果為2。(共有兩對質數的和為10,分別為(5,5),(3,7))
#[2,3,5,7] - 輸入描述:
輸入包括一個整數n,(3 ≤ n < 1000) - 輸出描述:
輸出對數 - 示例1 :
輸入:
10
輸出:
2
字典生成式示例:
需求1:假設有20個學生,學生的分數在60~100之間,篩選出成績在90分以上的學生
需求2:將所有的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({k.upper(): v for k, v in d.items()})需求3:大小寫的key值合并,統一以小寫輸出
d = dict(a=1, b=2, c=3, B=9, A=10)
a=11 b=11 c=2
列表生成式
print({k.lower():d.get(k.upper(),0)+d.get(k.lower(),0)for k in d})總結
以上是生活随笔為你收集整理的python—列表、字典生成式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux允许61440端口,释放对某端
- 下一篇: python怎么变各种颜色_python