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

Lima petua Python yang menyelamatkan nyawa

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBke hadapan
2023-04-12 21:19:091427semak imbas

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

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]

Berikut ialah senarai perkataan yang diterbalikkan dan disambung menjadi rentetan:

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

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

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]

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]

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

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]

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]
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]
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]
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]
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]

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")
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")
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']
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!

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