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

โปรแกรม Python เพื่อแปลงรายการเป็นชุดตามองค์ประกอบทั่วไป


เมื่อจำเป็นต้องแปลงรายการเป็นชุดตามองค์ประกอบทั่วไปที่เฉพาะเจาะจง สามารถกำหนดวิธีการที่จะทำซ้ำผ่านชุดโดยใช้ 'แจกแจง' และวางเงื่อนไขเฉพาะบนองค์ประกอบ ใช้วิธี "สหภาพ" และวิธีการ "แผนที่"

ตัวอย่าง

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

def common_elem_set(my_set):
   for index, val in enumerate(my_set):
      for j, k in enumerate(my_set[index + 1:], index + 1):

         if val & k:
            my_set[index] = val.union(my_set.pop(j))
            return common_elem_set(my_set)
   return my_set

my_list = [[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]]

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

my_set = list(map(set, my_list))

my_result = common_elem_set(my_set)

print("The result is :")
print(my_result)

ผลลัพธ์

The list is :
[[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]]
The result is :
[{11, 12, 13, 14, 18, 19}, {9, 2, 6, 1}, {32, 17, 21, 54}]

คำอธิบาย

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

  • รายการมีการวนซ้ำโดยใช้การแจงนับ

  • เงื่อนไขถูกกำหนดโดยใช้ '&' และหากเป็นไปตามเงื่อนไข ผลลัพธ์จะถูกส่งคืน

  • นอกเมธอด รายการของรายการถูกกำหนดไว้

  • จะแสดงบนคอนโซล

  • มันถูกแปลงเป็นชุดโดยใช้วิธี 'แผนที่' แล้วแปลงเป็นรายการอีกครั้ง

  • สิ่งนี้ถูกกำหนดให้กับตัวแปร

  • ตอนนี้วิธีการนี้ถูกเรียกโดยการส่งผ่านตัวแปรนี้

  • เอาต์พุตจะแสดงบนคอนโซล