Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tiga petua Python yang menjimatkan masa!

Tiga petua Python yang menjimatkan masa!

王林
王林ke hadapan
2023-04-12 14:25:181392semak imbas

Tiga petua Python yang menjimatkan masa!

Kandungan kerja terbaru saya: pergerakan fail automatik, pemprosesan imej dan pembersihan data. Saya meringkaskan beberapa petua Python semasa proses pengaturcaraan untuk menjadikan kod saya kemas dan mudah difahami. Seterusnya, saya akan berkongsi dengan anda 3 petua Python yang menjimatkan masa.

Tiga petua Python yang menjimatkan masa!

Terbalikkan senarai

Baru-baru ini saya mempunyai projek di mana saya perlu membalikkan senarai, yang pada mulanya dilakukan melalui penghirisan. Tetapi sebenarnya, anda juga boleh membalikkan senarai dalam python menggunakan kaedah reverse() fungsi terbina dalam.

Mulakan dengan membuat senarai.

# 创建一个列表
mylist = list(np.arange(0,100))

Dua cara untuk membalikkan senarai ialah:

# 使用切片反转列表
newlist = mylist[::-1]

# 使用内置的 reverse() 反转列表
mylist.reverse()

Kedua-dua kaedah boleh membalikkan senarai, tetapi perlu diingat bahawa fungsi terbina dalam reverse() akan berubah Senarai asal, kaedah penghirisan mencipta senarai baharu.

Mari kita bandingkan masa pelaksanaan ⏳

Tiga petua Python yang menjimatkan masa!

terbalik() dan masa pelaksanaan penghirisan senarai

Jelas sekali, fungsi terbina dalam reverse() 3 kali lebih cepat daripada kaedah menghiris senarai!

Dalam projek kerja saya, untuk merealisasikan pergerakan automatik fail sistem, saya mencipta senarai nilai kedudukan. Program Python awal telah ditulis menggunakan penghirisan senarai Sekarang saya telah menulis semula kod untuk menggunakan fungsi reverse() untuk menjadikan atur cara berjalan lebih cepat.

Baiklah, mari kita perkenalkan teknik kedua.

Menukar dua nilai dengan satu baris kod

Menukar dua nilai pembolehubah ​​dengan satu baris kod adalah cara yang benar-benar Pythonic.

Tidak seperti bahasa pengaturcaraan lain, Python tidak perlu menggunakan pembolehubah sementara untuk menukar dua nombor atau nilai. Ambil contoh mudah:

# 创建两个变量
variable_1 = 100 
variable_2 = 500

Untuk menukar nilai pembolehubah_1 dan pembolehubah_2, anda hanya perlu menggunakan satu baris kod.

变量_2,变量_1 = 变量_1,变量_2

Gunakan satu baris kod untuk menukar dua nilai, yang dipermudahkan ke dalam bentuk berikut.

Tiga petua Python yang menjimatkan masa!

Sudah tentu, projek kerja sebenar saya sedikit lebih rumit daripada ini, menggunakan kamus dengan senarai sebagai nilai untuk setiap kunci.

md[key_2],md[key_1] = md[key_1],md[key_2]

Melalui teknik di atas, kerja saya menjimatkan berbilang lelaran dan transformasi data yang kompleks, mengurangkan masa pelaksanaan.

Menggunakan gelung for dalam fungsi

Kita semua suka mencipta fungsi tersuai untuk melaksanakan tugas khusus kita sendiri. Kemudian gunakan gelung for untuk mengulangi fungsi ini dan ulangi tugasan beberapa kali.

Walau bagaimanapun, menggunakan fungsi dalam gelung for memerlukan masa pelaksanaan yang lebih lama kerana fungsi itu dipanggil pada setiap lelaran.

Sebaliknya, jika gelung for dilaksanakan di dalam fungsi, fungsi itu hanya akan dipanggil sekali.

Untuk menerangkan dengan lebih jelas, mari beri contoh!

Mula-mula buat senarai rentetan ringkas:

listofstrings = ['苹果','橙子','香蕉','菠萝','葡萄']

Buat dua fungsi, dengan gelung for di dalam dan di luar fungsi, bermula dengan yang ringkas.

# 在函数内部创建一个没有for循环的函数
def onlyfunction(x):
    newstring = x.capitalize()
    outputstring = x + " " + newstring
    print(outputstring)

dan fungsi untuk dengan gelung di dalamnya.

# 创建一个函数,其中 for 循环在函数内部
def forinfunction(listofstrings):
    for x in listofstrings:
        newstring = x.capitalize()
        outputstring = x + " " + newstring
        print(outputstring)

Mari gunakan fungsi ini dan lihat hasilnya.

Tiga petua Python yang menjimatkan masa!

Jelas sekali, hasil keluaran kedua-dua fungsi adalah sama.

Namun, kisah itu tidak berakhir di sini. Mari bandingkan, yang mana lebih cepat?

Tiga petua Python yang menjimatkan masa!

Seperti yang anda lihat, menggunakan gelung for di dalam fungsi adalah lebih pantas sedikit.

Dalam projek saya yang lain, saya terpaksa menangani banyak tugas pemprosesan imej yang kompleks. Sebagai perbandingan, menggunakan gelung for di dalam fungsi adalah 1.5 kali lebih pantas daripada memanggil fungsi yang sama pada setiap lelaran. Sudah tentu, ini hanyalah pengalaman peribadi saya, tetapi ia mungkin berguna jika anda menghadapi situasi yang serupa.

Ringkasnya, anda boleh menggunakan fungsi terbina dalam Python dengan lebih banyak lagi. untuk meningkatkan kelajuan program Python anda sambil memastikan kod itu ringkas dan mudah difahami.

Jika anda ingin mengetahui lebih lanjut tentang fungsi terbina dalam Python, anda boleh rujuk jadual di bawah, atau semak tapak web di bawah:

https:/ /www.php.cn /link/3dfe2f633108d604df160cd1b01710db

Tiga petua Python yang menjimatkan masa!

Atas ialah kandungan terperinci Tiga petua Python yang menjimatkan masa!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam