新聞中心
python中的a in b for a in c如何理解?
我很理解你的疑惑,我相信這個對任何一個第一次接觸到這種寫法的人都有疑惑,不過我已經(jīng)明白它的執(zhí)行順序,其實最容易明白的就是寫一個等效寫法,“a in b for b in c”的寫法跟“x for x in y”的寫法并沒有本質上的區(qū)別,只不過前者輸出的b又作為“in”的參數(shù)繼續(xù)運算一次而已(同理它還可以是其它運算,未必是a in b,只不過現(xiàn)在它是一個列表,如果c是一維的列表,那循環(huán)一次出來的b就是單個元素,假設它是數(shù)字,那就可以執(zhí)行比如b+1 for b in c這種操作),這種一般都用于生成一個列表,說再多不如舉個例子(以下例子皆為實測通過):
10年積累的網(wǎng)站建設、成都網(wǎng)站制作經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有鐵門關免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
```
#?二維數(shù)組(在python中這個叫列表)
c?=?[[7,?8,?9],?[1,?2,?3],?[4,?5,?6]]
#?簡易寫法,結果:?[7,?8,?9,?1,?2,?3,?4,?5,?6]
l1?=?[a?for?b?in?c?for?a?in?b]
print(l1)
#?常規(guī)寫法(相當于上邊的簡易寫法),結果:?[7,?8,?9,?1,?2,?3,?4,?5,?6]
l2?=?[]
for?b?in?c:
for?a?in?b:
l2.append(a)
print(l2)
#?上述的a還可以作為參數(shù)繼續(xù)傳入其它函數(shù)或在表達式中使用,比如作為in的參數(shù),結果:?[False,?True,?False]
#?解釋一下執(zhí)行順序:先執(zhí)行for?in,循環(huán)一次就出來一個b,然后再執(zhí)行num?in?b,num?in?b的結果(True/False)作為列表的
#?一個元素,至此一個循環(huán)結束,然后又開始下一個for?in循環(huán),直到所有元素循環(huán)完,最后產生一個元素值為True/False組成的列表!
num?=?3
l3?=?[num?in?b?for?b?in?c]
print(l3)
#?上面寫法相當于
l4?=?[]
for?b?in?c:
l4.append(num?in?b)
print(l4)
#?a在表達式中參與表達式運算
#?結果:[8,?9,?10,?2,?3,?4,?5,?6,?7]
l5?=?[a+1?for?b?in?c?for?a?in?b]
print(l5)
#?該寫法是上述寫法的常規(guī)寫法
l6?=?[]
for?b?in?c:
for?a?in?b:
l6.append(a+1)
print(l6)
```
提交答案后,發(fā)現(xiàn)百度會把空格縮進全都去掉,而縮進作為python的靈魂,沒有了縮進的python代碼根本沒辦法運行,所以我給你截個圖,你復制代碼后自己去縮進吧:
python的一種寫法:a in b for b in c
又一次修改答案,這次我要吐槽一下,不要來這里問關于代碼的問題,前面的代碼你也看到了,百度知道根本無法嵌入代碼,直接把代碼當普通文本,空格縮進全給你去掉,然后我想著,好,文本的空格被你去掉我上傳圖片總行了吧?結果,這圖片被壓縮的模糊不清,勉強能看見,將就著看吧。
python中的 in怎么用
in是包含關鍵詞,會返回一個bool函數(shù)(True或者False)。
用法:a in b,表示判斷a是否在b其中,如果存在則返回True,否則返回False。
例:
基本的python內置函數(shù)int(x)的作用是?
內置函數(shù),在python幫助文檔中:Build-in Functions
在Python提示符下,輸入下面語句,就會顯示Python提供的內置函數(shù)列表
dir('__builtins__')
abs(_) 內置函數(shù),絕對值或復數(shù)的模。
chr() 以單字節(jié)整數(shù)為參數(shù),返回一個單字符的字符串,其內容是與之對于的ASCII字符。如chr(69)返回'E'。
cmp() 比較字符串,cmp('Xiao','Jian')返回1
coerce() (可以看成一個數(shù)值類型轉換函數(shù))有兩個參數(shù),都是數(shù)字,返回這兩個數(shù)字的一個列表,將這兩個數(shù)字的數(shù)據(jù)類型統(tǒng)一。如coerce(1,2j),返回(1+0j,2j)
complex() 內置函數(shù),把……轉換成復數(shù),如complex('2')返回(2+0j),complex('2+3j')返回(2+3j)。
divmod() 內置函數(shù),有兩個參數(shù),返回(商,余數(shù))。如divmod(10,2.5),返回(4.0,0.0)。
filter(function,list) 把函數(shù)應用于list中的每一項,并返回 從函數(shù)中返回真值的項。注:function可以為None,此時刪除list中的0或空項。
float() 內置函數(shù),把……轉換成浮點數(shù)。
floor() 在math模塊內,需要import math。向下取整,即向x軸負方向取整。如math.floor(1.9)返回1,math.floor(-2.5)返回-3。
hash() 散列功能,詞典鍵的最精確功能需求是它一定是可散列的。對象的散列值是半唯一的、內部生成的數(shù)字,它可用于快速比較。
int() 內置函數(shù),把字符串或者小數(shù)轉換為一個整數(shù)。直接去掉小數(shù)部分。如int(5.3)返回5,int('5')返回5。
len(x) 序列x的長度
long() 內置函數(shù),把數(shù)字 或 代表整數(shù)的字符串 轉換成長整型
map(function,list[,list,...])
max() 找出字符串中最大的字符。如:min('find the minimum character'),返回' ',即空格。
min() 找出字符串中最小的字符。如:max('find the maximum character'),返回'x'。
oct() 將十進制數(shù)轉換成八進制,再變成字符。
ord() 參數(shù)是單個的ASCII字符,返回該ASCII字符對應的整數(shù)值,如ord('a')返回97。
pow() 內置函數(shù),乘方。如果有第三個參數(shù),則表示乘方的結果對第三參數(shù)取余,如pow(2,3)返回8,pow(2,3,4)返回0。
print 輸出到窗口
range() 生成一個向量,例如range(m,n,d),從m到n,步長為d;range(m)則生成0:m-1,步長為1的向量。
raw_input() 輸入函數(shù),參數(shù)為字符串,作為輸入時的提示語句。返回值為字符串。
reduce(func)
round() 內置函數(shù),對數(shù)字進行四舍五入,第二個參數(shù)表示精確到小數(shù)點后指定的位數(shù),默認值為0。如round(2.4)返回2,round(1.398,2)返回1.40。
type() 返回某數(shù)據(jù)的類型
當前文章:pythonin函數(shù) pythonmain
標題來源:http://fisionsoft.com.cn/article/dodhigj.html