文章目錄
- 前言
- 一、python串列決議式是什么?
- 二、決議運算式應用
- 1.引入
- 2.其他例子
- 總結
前言
python基礎之串列決議式簡單應用
一、python串列決議式是什么?
串列決議 List Comprehensions
運算式:[expression for iter_val in iterable if cond_expr]
[expression]:最后執行的結果
[for iter_val in iterable]:這個可以是一個多層回圈
[if cond_expr]:兩個for間是不能有判斷陳述句的,判斷陳述句只能在最后;順序不定,默認是左到右,
串列決議式是將一個串列(實際上適用于任何可迭代物件(iterable))轉換成另一個串列的方法,在轉換程序中,可以指定元素必須符合一定的條件,才能添加至新的串列中,這樣每個元素都可以按需要進行轉換,
二、決議運算式應用
1.引入
(示例):
生成一個從1~n的平方的串列,如,輸入 5
生成 l=[1,4,9,16,25]
普遍for回圈做法:
l = []
n = eval(input("請輸入n:"))
for i in range(1,n+1):
l.append(i**2)
print(l)
輸出5,則輸出結果如下

而此時我們參考串列決議式
n = eval(input("請輸入n:"))
l = [i**2 for i in range(1,n+1)]
print(l)
或者我們直接直接合并上述三行代碼,同樣能生成有序平方串列
print([i**2 for i in range(1,eval(input("請輸入n:"))+1)])

2.其他例子
1. 撰寫程式,輸入一個字串s,
輸出其每個字符的ASCII碼構成的串列L,
即L中的每個元素是s中每個字符的ASCII碼,
print( [ord(i) for i in input("請輸入一個字串: ")])

2.編程計算前n個自然數的立方和,其中n的值由用戶提供
print( sum([i**3 for i in range(1,int( input("請輸入n的值:"))+1)]) )

如果我們學過C語言,就不難發現,python代碼風格十分簡潔明了,正是因為有了大量的庫函式和解釋性的語法,使得代碼變得簡單易懂,可能同樣的一道編程題目,python代碼量不及c語言的三分之一…由此可見python的魅力之一
同時,我們也能在串列決議式中使用if條件,比如計算前n個能被3整除的自然數
print([i for i in range(1,eval(input("請輸入n:"))+1) if i%3==0])
總結
今天總結的python串列決議運算式就這樣了,可能受限于個人能力及時間,寫的略顯倉促,很多原理上的東西還需要在深入研究,本人也只是應用層面,未曾向許多大牛一樣有原始碼級的理解…
江湖路漫漫,學習編程也正是一個不斷積累的程序,此博客紀念初學python的自己,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/157639.html
標籤:其他
上一篇:HTML基礎操作
