შეგიძლიათ სიის კონვერტაცია ნაკრებად პითონში.
სურათის კრედიტი: Poike/iStock/GettyImages
სიები და კომპლექტები Python-ში ორივე შეიცავს ნივთების ჯგუფს, მაგრამ მათ შორის მნიშვნელოვანი განსხვავებებია. კერძოდ, კომპლექტები სასარგებლოა ოპერაციების ფართო სპექტრის შესასრულებლად, როგორიცაა გაერთიანებები და გადაკვეთები, ხოლო სიებს აქვს ნაკლები მათემატიკური ოპერაციები, მაგრამ სასარგებლოა კონკრეტული ნივთების მოსაძებნად - განსაკუთრებით დუბლიკატების შემთხვევაში - და ორგანიზებისთვის მონაცემები. მრავალი მიზეზის გამო, შესაძლოა დაგჭირდეთ სიის კონვერტაცია პითონში ნაკრებად და არსებობს მარტივი ფუნქცია, რომლის გამოყენებაც შეგიძლიათ ამის გასაკეთებლად.
ახსნილია პითონის სიები და კომპლექტები
ყველაზე მნიშვნელოვანი განსხვავება სიასა და სიმრავლეს შორის Python-ში არის ის, რომ სია შეიძლება შეიცავდეს დუბლიკატ ელემენტებს, ხოლო ნაკრები შეიცავს მხოლოდ უნიკალურ ელემენტებს. მაგალითად, თუ თქვენ გაქვთ ტესტების ქულების სია განსაზღვრული როგორც "ქულები=[14, 20, 13, 20, 15]", სია გეტყვით ყველა მნიშვნელობას, მაგრამ თუ მას გადააქცევთ ნაკრებად, ის წაშლის დუბლიკატს და ტოვებს {14, 20, 13, 15}.
დღის ვიდეო
კიდევ ერთი განსხვავება ისაა, რომ კვადრატული ფრჩხილები გამოიყენება სიებისთვის, ხოლო ხვეული ფრჩხილები გამოიყენება კომპლექტებისთვის. საქმეს ცოტა ართულებს ის ფაქტი, რომ პითონის ლექსიკონი ასევე იყენებს ხვეული ფრჩხილებს, მაგრამ იქ თითოეული ელემენტი შედგება თავად მნიშვნელობისა და ორწერტილით გამოყოფილი "გასაღებისაგან".
მნიშვნელოვანია გვახსოვდეს, რომ თქვენ შეგიძლიათ გამოიყენოთ სტრიქონები, მთელი რიცხვები, ათწილადები ან სხვა ობიექტები, როგორც ნაკრების ან სიის ნაწილი, და ისინი ასევე შეიძლება იყოს შერეული იმავე კომპლექტში ან სიაში. ასე რომ, როგორც პითონში შეიძლება გქონდეთ რიცხვების ნაკრები, ასევე შეგიძლიათ პითონის სტრიქონების კომპლექტის აგება.
სიის გადაქცევა ნაკრებად
პითონში სიის ნაკრებად გადაქცევის პროცესი მარტივია. პირველ რიგში, თქვენ განსაზღვრავთ სიას ისე, რომ აზრი ჰქონდეს მასში შემავალ ინფორმაციას. მაგალითად, თქვით, რომ გსურთ სახელების სიის განსაზღვრა, შეგიძლიათ დაწეროთ names=['ლი', 'მაიკი', 'ჯემი', 'მაიკი', 'სარა'] აღნიშნავენ კვადრატულ ფრჩხილებს, ბრჭყალებს სტრიქონების გარშემო (სახელები) და მძიმეებით, რომლებიც გამოყოფენ თითოეულ ჩანაწერს.
ამ სიის ნაკრებად გადასაყვანად იყენებთ ბრძანებას კომპლექტი (), სადაც ფრჩხილებს შორის აყენებთ იმ სიის სახელს, რომლის კონვერტაციაც გსურთ. ასე რომ, ამ შემთხვევაში, შეგიძლიათ დაწეროთ ნაკრები (სახელები) სიაში სახელების ნაკრებად გადაქცევა და შეგიძლიათ მას მიანიჭოთ ცვლადი, როგორიცაა „უნიკალური სახელები“ და აჩვენოთ შედეგი ბეჭდვა (უნიკალური სახელები), რომელიც ფუნქციურად ექვივალენტურია ბეჭდვა (კომპლექტი (სახელები)) მაგრამ უფრო სუფთა. თქვენ ადასტურებთ, რომ ეს გაკეთდა სწორად, იმის აღნიშვნით, რომ შედეგი იყენებს ხვეული ფრჩხილებს და "Mike" შედის მხოლოდ ერთხელ.
მთელი კოდი ასე გამოიყურება:
names=['ლი', 'მაიკი', 'ჯემი', 'მაიკი', 'სარა']
უნიკალური სახელები = ნაკრები (სახელები)
ბეჭდვა ('უნიკალური სახელები:', უნიკალური სახელები)
ამ შემთხვევაში, "უნიკალური სახელები:" დაემატა გამოსავალს პრეზენტაციის მიზნებისთვის.
Python: დააყენეთ სიაში კონვერტაცია
თქვენ ასევე შეგიძლიათ განახორციელოთ იგივე კონვერტაცია საპირისპირო მიმართულებით და პროცესი ძირითადად იგივეა, გარდა იმისა, რომ იყენებთ სია () ბრძანება კომპლექტზე და არა პირიქით. ეს ნიშნავს, რომ დასაწყებად გჭირდებათ კომპლექტი, რომელიც შეგიძლიათ მარტივად განსაზღვროთ ცვლადის არჩევით, როგორიცაა "big_set" და შემდეგ დაამატეთ შიგთავსი, გამოყოფილი მძიმეებით და ხვეული ფრჩხილებით. შეგიძლია დაწერო big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} მთელი რიცხვების ან სხვა მნიშვნელობების სიმრავლის განსაზღვრა.
ამ სიაში გადასაყვანად, თქვენ განსაზღვრავთ ცვლადს (ვთქვათ, "big_list") და იყენებთ სია () ბრძანება, ასე რომ თქვენ აკრიფეთ მსგავსი რამ big_list = სია (დიდი_კომპლექტი) და მერე ბეჭდვა (big_list) შედეგის საჩვენებლად. ასე რომ სრული კოდი არის:
big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}
big_list = სია (დიდი_კომპლექტი)
ბეჭდვა (big_list)
ეს შემთხვევა არ აძლევს სიას სახელს, ამიტომ ის მხოლოდ აბრუნებს სიას. გაითვალისწინეთ, რომ თუ სიას გადააქცევთ კომპლექტში და შემდეგ ისევ დაბრუნდებით, თქვენ დაკარგავთ ნებისმიერ განმეორებით მნიშვნელობას პირველ კონვერტაციაში და ისინი არ დაბრუნდებიან.