Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

10 เคล็ดลับเจ๋ง ๆ ที่น่าสนใจของ Python


ด้วยความนิยมที่เพิ่มขึ้นของ python คุณลักษณะต่างๆ ที่พร้อมใช้งานสำหรับการเข้ารหัส python เพิ่มมากขึ้น การใช้คุณสมบัตินี้ทำให้การเขียนโค้ดมีบรรทัดน้อยลงและสะอาดขึ้น ในบทความนี้เราจะเห็น 10 เทคนิคงูหลามที่ใช้บ่อยและมีประโยชน์มากที่สุด

การกลับรายการ

เราสามารถย้อนกลับรายการที่กำหนดโดยใช้ฟังก์ชัน reverse() จัดการทั้งประเภทข้อมูลตัวเลขและสตริงที่มีอยู่ในรายการ

ตัวอย่าง

List = ["Shriya", "Lavina","Sampreeti" ]
List.reverse()
print(List)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

['Sampreeti', 'Lavina', 'Shriya']

พิมพ์องค์ประกอบรายการในลำดับใดก็ได้

หากคุณต้องการพิมพ์ค่าของรายการตามลำดับที่แตกต่างกัน คุณสามารถกำหนดรายการให้กับชุดของตัวแปรและกำหนดลำดับที่คุณต้องการพิมพ์รายการโดยทางโปรแกรม

ตัวอย่าง

List = [1,2,3]
w, v, t = List
print(v, w, t )
print(t, v, w )

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

(2, 1, 3)
(3, 2, 1)

การใช้ฟังก์ชัน Generators ภายใน

เราสามารถใช้ตัวสร้างโดยตรงภายในฟังก์ชันเพื่อเขียนโค้ดที่สั้นลงและสะอาดขึ้น ในตัวอย่างด้านล่าง เราจะพบผลรวมโดยใช้ตัวสร้างโดยตรงเป็นอาร์กิวเมนต์ของฟังก์ชันผลรวม

ตัวอย่าง

sum(i for i in range(10) )

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

45

การใช้ฟังก์ชัน zip()

เมื่อเราต้องการรวมอ็อบเจ็กต์ iterator หลายๆ อัน เช่น list เพื่อรับรายการเดียว เราสามารถใช้ฟังก์ชัน zip ได้ ผลลัพธ์จะแสดงแต่ละรายการที่จะจัดกลุ่มกับรายการที่เกี่ยวข้องจากรายการอื่นๆ

ตัวอย่าง

Year = (1999, 2003, 2011, 2017)
Month = ("Mar", "Jun", "Jan", "Dec")
Day = (11,21,13,5)
print zip(Year,Month,Day)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

[(1999, 'Mar', 11), (2003, 'Jun', 21), (2011, 'Jan', 13), (2017, 'Dec', 5)]

สลับสองตัวเลขโดยใช้รหัสบรรทัดเดียว

การสลับตัวเลขมักต้องมีการจัดเก็บค่าไว้ในตัวแปรชั่วคราว แต่ด้วยเคล็ดลับหลามนี้ เราสามารถทำได้โดยใช้โค้ดเพียงบรรทัดเดียวและไม่ต้องใช้ตัวแปรชั่วคราว

ตัวอย่าง

x,y = 11, 34
print x
print y
x,y = y,x
print x
print y

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

11
34
34
11

เปลี่ยนเมทริกซ์

การย้ายเมทริกซ์เกี่ยวข้องกับการแปลงคอลัมน์เป็นแถว ใน python เราสามารถทำได้โดยการออกแบบโครงสร้างลูปเพื่อวนซ้ำผ่านองค์ประกอบในเมทริกซ์และเปลี่ยนตำแหน่งหรือเราสามารถใช้สคริปต์ต่อไปนี้ที่เกี่ยวข้องกับฟังก์ชัน zip ร่วมกับตัวดำเนินการ * เพื่อคลายซิปรายการซึ่งจะกลายเป็น transpose ของที่กำหนด เมทริกซ์

ตัวอย่าง

x = [[31,17],
[40 ,51],
[13 ,12]]
print (zip(*x))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

[(31, 40, 13), (17, 51, 12)]

พิมพ์สตริง N ครั้ง

วิธีปกติในภาษาการเขียนโปรแกรมใดๆ ในการพิมพ์สตริงหลายๆ ครั้งคือการออกแบบลูป แต่ python มีเคล็ดลับง่ายๆ เกี่ยวกับสตริงและตัวเลขในฟังก์ชันการพิมพ์

ตัวอย่าง

str ="Point";
print(str * 3);

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

PointPointPoint

การกลับรายการองค์ประกอบโดยใช้การแบ่งส่วนรายการ

List slicing เป็นเทคนิคที่ทรงพลังมากใน python ซึ่งสามารถใช้ย้อนกลับลำดับขององค์ประกอบในรายการได้

ตัวอย่าง

#Reversing Strings
list1 = ["a","b","c","d"]
print list1[::-1]

# Reversing Numbers
list2 = [1,3,6,4,2]
print list2[::-1]

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

['d', 'c', 'b', 'a']
[2, 4, 6, 3, 1]

ค้นหาตัวประกอบของจำนวน

เมื่อเราต้องการตัวประกอบของตัวเลข ซึ่งจำเป็นสำหรับการคำนวณหรือการวิเคราะห์บางอย่าง เราสามารถออกแบบลูปเล็กๆ ซึ่งจะตรวจสอบการหารของตัวเลขนั้นด้วยดัชนีการวนซ้ำ

ตัวอย่าง

f = 32
print "The factors of",x,"are:"
for i in range(1, f + 1):
   if f % i == 0:
print(i)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

The factors of 32 are:
1
2
4
8
16
32

การตรวจสอบการใช้หน่วยความจำ

เราสามารถตรวจสอบจำนวนหน่วยความจำที่ใช้โดยตัวแปรแต่ละตัวที่เราประกาศโดยใช้ฟังก์ชัน getsizeof() ดังที่คุณเห็นด้านล่าง ความยาวสตริงต่างกันจะใช้หน่วยความจำต่างกัน

ตัวอย่าง

import sys
a, b, c,d = "abcde" ,"xy", 2, 15.06
print(sys.getsizeof(a))
print(sys.getsizeof(b))
print(sys.getsizeof(c))
print(sys.getsizeof(d))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

38
35
24
24