條件成立時的返回值 if 條件 else 條件不成立時的返回值
x=10
y=20
print(f"x if x>y else y: ")
x if x > y else y: 20
[expression for item1 in iterable1 if condition1
for item2 in iterable2 if condition2
...for itemn in iterablen if conditionn
]類似於
res=
for item1 in iterable1:
if condition1:
for item2 in iterable2:
if condition2
...for itemn in iterablen:
if conditionn:
```python
print(f"[i for i in range(10)]: ")
[i for i in range(10)]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(f"[i2 for i in range(10)]: ")
[i**2 for i in range(10)]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print()
yield的英文單詞意思是生產,在函式中但凡出現yield關鍵字,再呼叫函式,就不會繼續執行函式體**,而是會返回乙個值。
def my_range(start, stop, step=1):
while start < stop:
yield start
start += 1
g = my_range(0, 3)
print(f"list(g): ")
list(g): [0, 1, 2]
列表推導式相當於直接給你一筐蛋,而生成器表示式相當於給你乙隻老母雞。
匿名函式,他沒有繫結名字,使用一次即被收回,加括號既可以執行。
匿名函式通常與max()、sorted()、filter()、sorted()方法聯用。
salary_dict =
1.如果我們想從上述字典中取出薪資最高的人,我們可以使用max()方法,但是max()預設比較的是字典的key。
首先將可迭代物件變成迭代器物件
res=next(迭代器物件),將res當做引數傳給key指定的函式,然後將該函式的返回值當做判斷依據
2.如果我們想對上述字典中的人,按照薪資從大到小排序,可以使用sorted()方法。
sorted()工作原理:
首先將可迭代物件變成迭代器物件
res=next(迭代器物件),將res當做引數傳給第乙個引數指定的函式,然後將該函式的返回值當做判斷依據。
3.如果我們想對乙個列表中的某個人名做處理,可以使用map()方法。
map()工作原理:
首先將可迭代物件變成迭代器物件
res=next(迭代器物件),將res當做引數傳給第乙個引數指定的函式,然後將該函式的返回值作為map()方法的結果之一。
4.如果我們想篩選除名字中含有'sb'的名字,我們可以使用filter()方法。
filter()工作原理:
首先將可迭代物件變成迭代器物件
res=next(迭代器物件),將res當做引數傳給第乙個引數指定的函式,然後filter會判斷函式的返回值的真假,如果為真則留下。
模擬測試20190813
不刪freopen身敗名裂.jpd 本來考場上拿到了170pts,然而由於蒟蒻太菜了沒有刪freopen爆掉了100pts 如果下一場不能翻盤的話基本就和第一機房說拜拜了吧 這次考試過程整體還算可以,沒有急躁和過多的功利心,能只一心投入自己的思考中 然而後果就是為了調t3沒有檢查t1導致t1爆零 下...
SHMenuBar學習整理
stuido 2008 new project other languages virual c smart device win32 smart device project 生成的工程模型比較簡潔,下方menu bar 左邊是乙個用來退出程式的soft key,右邊是乙個選單。牽扯到的知識點 1...
Shader學習整理
好久沒寫部落格了,研究了一段時間shader,整理一下 unity的shader包含三種,固定渲染管線,cg片段,su ce表面著色器,unity推薦su ce表面著色器,寫起來簡單,很多東西unity都做好了,實際中往往看具體需求而定,一般選cg片段和su ce表面著色器。然而不管怎麼說,基礎理論...