python列表解析if
⑴ python怎麼設置條件表達式會提高效率
1.把range全部換成xrange
2.生成器,如 list=(item for item in fp)
3.利用psyco庫,提高函數和類的運行效率。
4.字元串拼接:盡量少用「+」的方式,而採用''.join ,還有"%s"%i這樣賦值的手段
5.函數的開銷很大。盡量把循環放在函數內進行。而不要讓每次迭代都調用函數。
6.「前提工作」先做好,比如該賦值,該拼接的,然後再引入到函數中,或者進行下面的循環。
7.盡量使用內置方法,因為內置的是C寫的,效率肯定高很多
8.每當要對序列中的內容進行循環處理時,就應當嘗試用列表解析來代替它,如:[i for i in xrang(10) if i%2==0]
9.學會使用itertools模塊。當python中添加了迭代器後,就為常見模式提供了一個新的模塊,因為它是以C語言編寫,所以提供了最高效的迭代器。
--多記錄一些。列表,字元串,字典,xrange,類文件對象,這些都是可迭代對象,換句話說,都可以直接用在for循環中進行迭代,如for item in open('1.txt')
--直接使用速度會快。另外,我對比了itertools里工具和xrange,比如都循環100000次列印數字,使用islice(count(),100000)均要比xrange(100000)快
--而xrange還要比range快。
10.用列表解析取代for循環。列表解析的效率等於或高於map。
11.垃圾回收機制,會對列表的操作有重大影響,如列表的append,或者列表解析。import gc,然後在數據載入模塊前gc.disable(),結束後再gc.enable()。
⑵ Python之if語句及條件語句
其實各個語言的基礎都是相通的。
words = ['soften', 'civilize', 'personalization', 'bakery', strain', 'glimpse', 'royals']
for word in words:
if word == 'civilize':
print(word.upper()) #全部大寫輸出
else:
print(word.title()) #首字母大寫輸出
result:
Soften
CIVILIZE
Personalization
Bakery
Strain
Glimpse
Royals
*
條件語句包括:!=<=>=>< #這點python還是做的很好哈。
chl = 21
fsy = 32
chl >=20 and fsy <=31 #檢查兩個條件語句,使用關鍵詞and result:False
(chl >=20) and (fsy <=31) #也可將每個測試放在一對括弧內
chl >=20 or fay <=31 #使用or result:True
*
word = ['bride', 'castle', 'masterpieces', 'mystery', 'tragedy', 'bakery', 'strain', 'glimpse']
'castle' in word #使用關鍵詞in讓python檢查列表中是否有'castle'
words = ['emperor', 'castle', 'royal', 'diplomat', 'bakery', 'strain', 'glimpse']
chl = 'emperors'
if chl not in words: #if not in
print("The word is not in words list!")
*
age = 12
if age <= 4:
print("I like dessert and trade!")
elif age <= 18: #python這點不一樣哈,有個elif,可以有若干個elif語句
print("I like diplomat and mpling!")
else:
print("I like nobility and sketch!")
result:
I like diplimat and mpling!
*
age = 12
if age <= 4:
price = 0
elif age <= 18:
price = 10
else:
price = 20
print("You admission cost is $ " + str(price) +"!") #price要str函數告訴python輸出字元
**當其中一個if語句通過測試,python會跳過其他的if語句測試。
eg:尋找兩個列表共同的元素(交集)
chls = ['emperor', 'nobility', 'bakery', 'sauce', 'royal']
fsys = ['emperor', 'Spring Festival', 'approaching', 'nobility']
for chl in chls:
if chl in fsys:
print("We can discover " + chl +"!")
else:
print("Oh my god! The Spring Festival is approaching, prepare " + chl + "!")
result:
We can discover emperor!
Oh my god! The Spring Festival is approaching, prepare nobility!
Oh my god! The Spring Festival is approaching, prepare bakery!
Oh my god! The Spring Festival is approaching, prepare sauce!
Oh my god! The Spring Festival is approaching, prepare royal!
⑶ python中if多個條件怎麼寫
python中if多個條件連接關鍵字有三個,分別是:or、and、elif。
1、or連接。or關鍵字的作用是不需要將兩個條件都成立,只要有一邊的條件是成立的,那麼最後的運行結果返回的就是true。我們可以使用它無限的添加條件進行判斷。
2、and連接。這種連接方式和or不一樣,它是需要兩個條件判斷語句同時成立的時候才會繼續執行if中的語句,最後的結果返回的才是true,假設有一個條件為false,那麼它最後的結果就是false。
3、elif多條件判斷。前面兩種多條件語句的判斷,是將不同的條件連接在一起,而elif是將條件進行分開處理,代碼的運行流程就是作用當第一個if成立時就會執行下面的語句塊,否則就執行elif里的代碼。
python if 用法
1、 條件測試
每條 if 語句的核心都是一個值為True或False的表達式,這種表達式被稱為條件測試。Python根據條件測試的值為True還是False來決定是否執行 if 語句中的代碼。如果條件測試的值為True,就執行緊跟在 if 語句後面的代碼;如果值為False,Python就忽略這些代碼。
2、比較數字
數字的比較與字元串的比較類似,除了相等(==) 和不相等(!=),還有大於(>)、大於等於 (>=)、小於 (< )和小於等於(<=)。
3、檢查多個條件
有時候需要同時檢查多個條件,在幾個條件都為True時才執行相應的操作,或者只要求多個條件中的一個條件為True時就執行相應的操作,在這些情況下,關鍵字and和or可以幫助我們輕松實現。
4、檢查特定值是否在列表中
有時候,執行操作前需要檢查列表中是否包含特定的值,要判斷特定的值是否已包含在列表中,可使用關鍵字in。
⑷ Python的if 條件語句
Python 中用if語句進行條件判斷;與Excel 中的if作用有些類似,具體的語句如下:
if 條件:
結果
else:
結果
下面我們來舉例進行說明:
例1:年齡>=18歲,輸出「成年了」;否則輸出「未成年」
age = 16
if age >= 18:
print("成年了")
else:
print("未成年")
當存在兩個以上條件時,可在if條件判斷後,增加 elif(else if 的縮寫)繼續進行分支條件判斷。
說明:分支條件判斷的結果輸出,當滿足第一個條件時既停止後續判斷並返回第一個結果;當滿足第二個條件時既停止後續判斷並返回第二個結果;以此類推,如果全部條件判斷均不滿足,則返回else的結果。
例2:年齡<18歲,「未成年」; 18歲 =<年齡<40歲,「青年」; 40歲 =<年齡<60歲,「中年」;年齡>=60歲,「老年」
age = 25
if age >= 60:
print("老年")
elif age >= 40:
print("中年")
elif age >=18:
print("青年")
else:
print("未成年")
註:第二個條件中 可以直接寫 「age >=40」; 無需寫成 40 =<age<60;因為當判斷大盤第二個條件時,已經不滿足第一個條件、即age !>=60(age < 60),所以「<60」部分可省略。第三個條件同理
條件分支的簡單表達:三元表達式
我們將例1(:年齡>=18歲,輸出「成年了」;否則輸出「未成年」)改寫為「三元表達式」
age = 59
result ="成年" if age >=18 else "未成年"
print(result)
註:僅有兩個條件判斷時,可使用三元表達式進行簡寫
例3:國籍=china ,輸出「中國人」;否則輸出「外國人」
nationality = "England"
result = "中國人" if nationality == "china" else "外國人"
print(result)
註:一個「=」代表賦值,「==」代表等於
例4:通過身份證號判斷性別(身份證號17位單號為男性,雙號為女性)
id = "2308__________2642"
result = "女" if int(id[17]) % 2 == 0 else "男"
print(result)
註:id的類型為字元串,需要通過「int()」函數將其轉換為整數; 」%」代表取余數,
「XX % 2 ==0 」 代表XX除2餘數為0即偶數.
⑸ python中的if判斷語句怎麼寫
python中寫if判斷語句的方法:
1、創建一個一維列表
2、通過for循環來遍歷列表的每一個元素。
3、用if語句判斷等於7的元素,如果元素等於7,列印這個元素
結果如下:
⑹ 關於python中的if語句
第二種情況很好理解
for n in range(2,14):
for x in range(2,n):
if n%x==0:
print n,'equals',x,'*',n/x
break
else:
print n,'is a prime number'
比如n是個素數的話,第二重循環每次都會執行到else分支,由於else中沒有break,不會挑出第二層循環,就會打n is a prime number很多遍,非素數比如,8,9兩種情況自己想一下就明白了,很容易
for n in range(2,14):
for x in range(2,n):
if n%x==0:
print n,'equals',x,'*',n/x
break
else:
print n,'is a prime number'
這里的else應該是和他相對應的for循環結束後再被執行的,同時如果break跳出for循環,那麼對應的else也不執行,這樣運行結果就對了
⑺ pythonif語句的用法例子
pythonif語句的用法例子:
與他上面的最近的還沒有配對的if配對。
例如判斷三角形的。
if((a+b>c)&&(a+c>b)&&(b+c>a))。
if((a==b)||(a=c)||(b=c))。
printf("是等腰三角行")。
含義
if-else的語句結構是前面的條件成立執行什麼操作,則下面的分支結構就不會被執行,若前面的條件不成立,否則做下面的。在Python中可以使用if else語句對條件進行判斷,然後根據不同的結果執行不同的代碼,這稱為選擇結構或者分支結構。
Python解釋器易於擴展,可以使用C或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。Python也可用於可定製化軟體中的擴展程序語言。Python豐富的標准庫,提供了適用於各個主要系統平台的源碼或機器碼。