天天看點

python清單推導式_記錄學習python第5天-清單推導式

在外跑了一天屬實累啊,今天終于把自己的畢業證和學位證拿到手了。徹底告别學校咯!

晚上回來時間也不多,就稍微碼一些。

筆記依舊更新在石墨文檔。

Python基礎知識 《Python基礎知識》,可複制連結後用石墨文檔 App 或小程式打開

算法題筆記

python算法題 《python算法題》,可複制連結後用石墨文檔 App 或小程式打開

3.3 抛出異常

raise Exception:手動抛出異常

# 注冊 使用者名大于6位


def register():
    username = input('請輸入你的使用者名:')
    if len(username) < 6:
        raise Exception('使用者長度必須')
    else:
        print('輸入的使用者名是:', username)


try:
    register()
except Exception as err:
    print(err)
    print('注冊失敗!')
else:
    print('注冊成功!'
           

4.清單推導式

舊的清單 -----》 新的清單

格式:
  • 【表達式 for 變量 in 舊清單】
  • 【表達式 for 變量 in 舊清單 if 條件】
例子1:
# 過濾人名長度大于3的
names = ['aaa', 'vvvv', 'wwww', 'qq', 'pppp', 'l']
# 表達式或者變量名為後面符合條件的值
newNames = [name for name in names if len(name) > 3]
print(newNames)
           
例子2:
# 偶加奇的元組
list1 = [(x, y) for x in range(1, 6) for y in range(0, 9) if x % 2 == 0 if y % 2 != 0]
print(list1)
           
python清單推導式_記錄學習python第5天-清單推導式
例子3:
# 輸出[3,6,9,10]
list1 = [[1, 2, 3], [5, 3, 6], [1, 4, 9], [7, 9, 6, 10]]
result = [i[-1] for i in list1]
print(result)
           
例子4: if條件成立執行前面
dict1 = {'name': 'tom', 'salary': 5000}
dict2 = {'name': 'bob', 'salary': 6000}
dict3 = {'name': 'jack', 'salary': 4500}
dict4 = {'name': 'lily', 'salary': 5500}
list1 = [dict1, dict2, dict3, dict4]
# salary大于5000加200,低于等于5000加500
newList = [i['salary'] + 200 if i['salary'] > 5000 else i['salary'] + 500 for i in list1]
print(newList)
           

4.1 集合推導式{}

在清單推導式的基礎上多了一個去重的功能 例子1:
list1 = [1, 2, 2, 2, 2, 3, 4, 5, 6]
set1 = {x + 1 for x in list1}
print(set1)
           
python清單推導式_記錄學習python第5天-清單推導式

4.2 字典推導式

python清單推導式_記錄學習python第5天-清單推導式