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

Python – เรียงสตริงตามความแตกต่างของตัวพิมพ์


เมื่อจำเป็นต้องจัดเรียงสตริงตามความแตกต่างของตัวพิมพ์ จะมีการกำหนดเมธอดที่รับสตริงเป็นพารามิเตอร์ วิธีนี้ใช้ list comprehension และ 'isupper' และ 'islower' method ร่วมกับ list comprehension เพื่อรับความแตกต่างของ case ความแตกต่างให้ค่าที่จัดเรียง

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน

def get_diff(my_string):

   lower_count = len([ele for ele in my_string if ele.islower()])
   upper_count = len([ele for ele in my_string if ele.isupper()])
   return abs(lower_count - upper_count)

my_list = ["Abc", "Python", "best", "hello", "coders"]

print("The list is :")
print(my_list)

my_list.sort(key=get_diff)

print("Sorted Strings by case difference :")
print(my_list)

ผลลัพธ์

The list is :
['Abc', 'Python', 'best', ‘hello’, 'coders']
Sorted Strings by case difference :
['Abc', 'Python', 'best', 'coders', ‘hello’]

คำอธิบาย

  • มีการกำหนดเมธอดชื่อ 'get_diff' ซึ่งรับรายการสตริงเป็นพารามิเตอร์

  • แสดงรายการความเข้าใจและวิธีการ 'islower' และ 'isupper' ใช้เพื่อตรวจสอบว่าสตริงเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก

  • ค่าเหล่านี้ถูกเก็บไว้ในสองตัวแปรที่แตกต่างกัน

  • ความแตกต่างที่แน่นอนระหว่างสองตัวแปรนี้จะถูกส่งกลับเป็นผลลัพธ์

  • นอกเมธอด รายการถูกกำหนดและแสดงบนคอนโซล

  • รายการจะถูกจัดเรียงตามวิธีการที่กำหนดไว้ก่อนหน้านี้

  • นี่คือเอาต์พุตที่แสดงบนคอนโซล