Rumah > pembangunan bahagian belakang > Tutorial Python > Lima petua Python yang menyelamatkan nyawa

Lima petua Python yang menyelamatkan nyawa

WBOY
Lepaskan: 2023-04-12 21:19:09
ke hadapan
1384 orang telah melayarinya

Lima petua Python yang menyelamatkan nyawa

Python ialah bahasa yang berkuasa dan mudah digunakan dengan sintaks yang ringkas dan elegan. Ia tidak rumit dan mengarut seperti Java, dan terdapat beberapa fungsi atau sintaks khas yang boleh dibuat kod lebih pendek dan ringkas.

Berdasarkan pengalaman pengarang, berikut ialah 5 petua Python yang biasa digunakan:

  • Operasi rentetan
  • Derivasi senarai
  • lambda dan peta( ) fungsi
  • if, elif dan lain-lain ungkapan satu baris
  • zip() fungsi

Lima petua Python yang menyelamatkan nyawa

1 ://jq../?_wv=1027&k=UEbz4NcQ)

Python pandai menggunakan operator matematik (seperti + dan *) untuk beroperasi pada rentetan: - + rentetan penyambungan - * rentetan berulang

my_string = "Hi Python..!"print(my_string * 2)#Hi Python..!Hi Python..!print(my_string + " I love Python" * 2)#Hi Python..! I love Python I love Python
Salin selepas log masuk

Anda juga boleh menggunakan operasi menghiris [::-1] untuk membalikkan rentetan dengan mudah dan ia tidak terhad kepada rentetan (seperti membalik senarai)!

my_string = "Hi Python..!"print(my_string[::-1])# !..nohtyP iHmy_list = [1,2,3,4,5]
print(my_list[::-1])# [5, 4, 3, 2, 1]
Salin selepas log masuk

Berikut ialah senarai perkataan yang diterbalikkan dan disambung menjadi rentetan:

word_list = ["awesome", "is", "this"]print(' '.join(word_list[::-1]) + '!')
#this is awesome!
Salin selepas log masuk

Gunakan kaedah .join(), '' (ruang) untuk bergabung senarai terbalik semua perkataan dan tambah tanda seru!.

2. Senarai terbitan (https://jq../?_wv=1027&k=UEbz4NcQ)

Lima petua Python yang menyelamatkan nyawa

Senarai terbitan, yang boleh mengubah dunia anda lihat Kemahiran! Ini adalah cara yang sangat berkuasa, intuitif dan boleh dibaca untuk melaksanakan operasi pantas pada senarai. Selain itu, cari latar belakang Python teratas akaun awam dan balas "Internet of Things" untuk mendapatkan pakej hadiah kejutan.

Andaikan, terdapat fungsi rawak yang mengembalikan kuasa dua nombor dan menambah 5:

def stupid_func(x):
 return x**2 + 5
Salin selepas log masuk

Sekarang, saya mahu menggunakan fungsi stupid_func() kepada semua nombor ganjil dalam senarai, jika Daripada menggunakan terbitan senarai, cara bodoh adalah seperti berikut:

def stupid_func(x):
 return x**2 + 5my_list = [1, 2, 3, 4, 5]
new_list = []for x in my_list: if x % 2 != 0:
new_list.append(stupid_func(x))
print(new_list)#[6, 14, 30]
Salin selepas log masuk

Jika anda menggunakan terbitan senarai, kod serta-merta menjadi elegan:

def stupid_func(x):
 return x**2 + 5my_list = [1, 2, 3, 4, 5]
print([stupid_func(x) for x in my_list if x % 2 != 0])#[6, 14, 30]
Salin selepas log masuk

Sintaks senarai terbitan: [ungkapan untuk item dalam senarai], Jika anda rasa ia tidak cukup mewah, anda juga boleh menambah syarat penghakiman, seperti keadaan "nombor ganjil" di atas: [ungkapan untuk item dalam senarai jika bersyarat]. Pada asasnya apa yang dilakukan oleh kod berikut:

for item in list:
if conditional:
expression
Salin selepas log masuk

Sangat Cool! . Tetapi anda boleh melangkah lebih jauh dan terus meninggalkan fungsi studid_func():

my_list = [1, 2, 3, 4, 5]print([x ** 2 + 5 for x in my_list if x % 2 != 0])#[6, 14, 30]
Salin selepas log masuk

3.

Lambda kelihatan agak pelik, tetapi perkara pelik pada umumnya sangat berkuasa Setelah anda menguasainya, ia sangat intuitif dan menjimatkan banyak kod karut.

Pada asasnya, fungsi Lambda ialah fungsi kecil tanpa nama. Mengapa tanpa nama?

Oleh kerana Lambda paling kerap digunakan untuk melakukan operasi mudah, tetapi tidak perlu serius seperti def my_function(), jadi Lambda juga dipanggil fungsi bodoh (buat-buat, abaikan).

Tingkatkan contoh di atas: def stupid_func(x) boleh digantikan dengan fungsi Lambda satu baris:

stupid_func = (lambda x : x ** 2 + 5)
print([stupid_func(1), stupid_func(3), stupid_func(5)])#[6, 14, 30]
Salin selepas log masuk
Jadi mengapa menggunakan sintaks pelik ini? Ini menjadi berguna apabila anda ingin melakukan beberapa operasi mudah tanpa menentukan fungsi sebenar.

Ambil senarai nombor sebagai contoh. Katakan senarai itu diisih? Salah satu cara ialah menggunakan kaedah sorted():

my_list = [2, 1, 0, -1, -2]
print(sorted(my_list))#[-2, -1, 0, 1, 2]
Salin selepas log masuk
Fungsi sorted() boleh melengkapkan pengisihan, tetapi bagaimana jika anda ingin mengisih mengikut kuasa dua setiap nombor? Pada masa ini, fungsi lambda boleh digunakan untuk mentakrifkan kekunci kekunci isihan, yang juga digunakan oleh kaedah sorted() untuk menentukan cara mengisih:

my_list = [2, 1, 0, -1, -2]
print(sorted(my_list, key = lambda x : x ** 2))#[0, -1, 1, -2, 2]
Salin selepas log masuk
Fungsi peta

map ialah fungsi terbina dalam python, yang akan diproses mengikut yang disediakan Fungsi memetakan jujukan yang ditentukan. Katakan anda mempunyai senarai dan anda ingin mendarabkan setiap elemen dalam senarai dengan elemen yang sepadan dalam senarai lain Bagaimana anda melakukan ini? Gunakan fungsi dan peta lambda!

print(list(map(lambda x, y : x * y, [1, 2, 3], [4, 5, 6])))
#[4, 10, 18]
Salin selepas log masuk
adalah semudah dan elegan seperti kod karut konvensional berikut:

x, y = [1, 2, 3], [4, 5, 6]
z = []for i in range(len(x)):
 z.append(x[i] * y[i])print(z)
#[4, 10, 18]
Salin selepas log masuk

Lima petua Python yang menyelamatkan nyawa

4.if-else ungkapan satu baris (https :/ /jq.com/?_wv=1027&k=UEbz4NcQ)

Di suatu tempat dalam kod anda, mungkin terdapat pernyataan bersyarat seperti karut ini:

x = int(input())if x >= 10:print("Horse")
elif 1 < x < 10:print("Duck")else:print("Baguette")
Salin selepas log masuk
Apabila menjalankan program, Prompt untuk memasukkan sekeping maklumat daripada fungsi input(), sebagai contoh, masukkan 5 untuk mendapatkan Duck. Tetapi sebenarnya, anda juga boleh melengkapkan keseluruhannya dengan satu baris kod:

print("Horse" if x >= 10 else "Duck" if 1 < x < 10 else "Baguette")
Salin selepas log masuk
Satu baris kod adalah mudah dan mudah Melihat melalui kod lama anda, anda akan mendapati bahawa banyak pertimbangan boleh dikurangkan kepada ungkapan satu baris if-else.

Lima petua Python yang menyelamatkan nyawa

Fungsi 5.zip() (https://jq..com/?_wv=1027&k=UEbz4NcQ)

Ingat fungsi map() Darabkan separa dua elemen senarai bitwise?

zip() menjadikannya lebih mudah. Katakan terdapat dua senarai, satu mengandungi nama pertama dan satu mengandungi nama keluarga Bagaimana untuk menggabungkannya mengikut urutan? Gunakan zip()!

first_names = ["Peter", "Christian", "Klaus"]
last_names = ["Jensen", "Smith", "Nistrup"]print([' '.join(x) for x in zip(first_names, last_names)])
#['Peter Jensen', 'Christian Smith', 'Klaus Nistrup']
Salin selepas log masuk
5 petua pantas yang disenaraikan di atas, saya harap ia berguna untuk anda.

Atas ialah kandungan terperinci Lima petua Python yang menyelamatkan nyawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan