日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3实用编程技巧_6.python3实用编程技巧进阶(一)

發布時間:2025/3/15 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3实用编程技巧_6.python3实用编程技巧进阶(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1.如何在列表中根據條件篩選數據# 1.1.如何在列表中根據條件篩選數據

data = [-1, 2, 3, -4, 5]

#篩選出data列表中大于等于零的數據

#第一種方法,不推薦

res1 = []

for x in data:

if x >= 0:

res1.append(x)

print(res1)

#第二種用列表解析,推薦使用

res2 = [ x for x in data if x >= 0]

print(res2)

#第三種用filter函數

res3 = list(filter(lambda x : x>= 0,data))

print(res3)

1.2.如何在列表中根據條件篩選數據# 1.2.如何在列表中根據條件篩選數據

from random import randint

#創建學生字典,學號為1~20,分數為50~100隨機

d = {'student%d'% i: randint(50,100) for i in range(1,21)}

print(d)

#過濾出分數為90的學生字典

#第一種方法

d1 = {k:v for k,v in d.items() if v >= 90}

print(d1)

#第二種方法

d2 = dict(filter(lambda item:item[1] >= 90, d.items()))

print(d2)

1.3.如何在集合中根據條件篩選數據# 1.3.如何在集合中根據條件篩選數據

from random import randint

s = {randint(0,20) for _ in range(20)}

print(s)

#篩選出能被3整除的數

s1 = {x for x in s if x % 3 == 0}

print(s1)

1.4.如何為元祖中的每個元素命名,提高程序可讀性

如下元祖,通過函數判斷年齡和性別,但是這樣代碼可讀性很差,別人并不知道student[1],student[2]代表什么意思。如何解決呢def func(student):

if student[1] < 18 :

pass

if student[2] == 'male':

pass

student = ('derek',22,'male','111@qq.com')

func(student)

方案一:定義枚舉類型#1.4..如何為元祖中的每個元素命名,提高程序可讀性

def func(student):

if student[1] < 18 :

pass

if student[2] == 'male':

pass

s1 = ('derek',22,'male','111@qq.com')

#第一種:使用枚舉

from enum import IntEnum

class StudentEnum(IntEnum):

NAME = 0

AGE = 1

SEX = 2

EMAIL = 3

print(s1[StudentEnum.NAME])

print(s1[StudentEnum.AGE])

方案二:使用標準庫中collections.namedtuple替代內置tuple#1.4..如何為元祖中的每個元素命名,提高程序可讀性

def func(student):

if student[1] < 18 :

pass

if student[2] == 'male':

pass

s1 = ('derek',22,'male','111@qq.com')

#第一種:使用枚舉

from enum import IntEnum

class StudentEnum(IntEnum):

NAME = 0

AGE = 1

SEX = 2

EMAIL = 3

print(s1[StudentEnum.NAME])

print(s1[StudentEnum.AGE])

#第二種:使用標準庫中collections.namedtuple替代內置tuple

from collections import namedtuple

Student = namedtuple('student',['name','age','sex','email'])

s2 = Student('derek',22,'male','222@qq.com')

print(s2[0]) #derek

# 可以通過s2.name獲取姓名

print(s2.name) #derek

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python3实用编程技巧_6.python3实用编程技巧进阶(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。