Как да свържете списъци в Python

Kak Da Sv Rzete Spis Ci V Python



Списъците на Python са гъвкави и широко използвани структури от данни, които позволяват съхранението и манипулирането на колекции от елементи. Една обща операция при работа със списъци е конкатенацията, която включва комбиниране на два или повече списъка за създаване на нов списък. Този процес е особено полезен при обединяване на данните или създаване на по-голям списък от по-малки. Конкатенацията на списъци може да бъде постигната с помощта на различни методи и разбирането на тези техники е от основно значение за ефективната работа със списъци в Python. Независимо дали обединявате списъци с числа, низове или сложни обекти, овладяването на конкатенацията на списъци ви позволява да манипулирате и организирате данните по различни начини.

Пример 1: Конкатениране на списъци с оператор „+“.

Можем да използваме оператора „+“ в Python, за да свържем списъците. С помощта на оператора „+“ можете да обедините два или повече списъка, за да формирате нов списък. Когато използвате оператора „+“ със списъци, се създава нов списък и елементите на оригиналните списъци се копират в новия списък в реда, в който се показват.

Ето един прост пример:







лист 1 = [ 1 , 2 , 3 ]

списък2 = [ 4 , 5 , 6 ]

списък с резултати = списък1 + списък2

печат ( списък с резултати )

Имаме два списъка в тази илюстрация: „списък1“ и „списък2“. Използваме оператора „+“, за да ги интегрираме в един списък. Когато се използва със списъци, операторът “+” ги свързва, което означава, че свързва елементите от втория списък към края на първия. И така, след изпълнение на „result_list = list1 + list2″, „result_list“ ще съдържа елементите на „list1“ и „list2“ в реда, в който са били свързани.





Въпреки че този метод е кратък, имайте предвид, че той създава нов списък, който може да не е ефективен за големи списъци поради излишните разходи за създаване на копие.





Пример 2: Използване на метода Extend().

Елементите на итерируеми могат да бъдат добавени към края на съществуващ списък с помощта на метода extend(). Той променя оригиналния списък на място, за разлика от оператора „+“, който създава нов списък.

Да предположим, че имаме списък със студенти в клас и искаме да разширим този списък, като добавим имената на нови студенти, които наскоро са се присъединили с помощта на метода extend(). Ето как можете да го направите:



class_students = [ 'Алиса' , 'Бела' , 'Чарли' ]

нови_студенти = [ 'Дейвид' , 'Ева' , 'Адам' ]

class_students. разшири ( нови_студенти )

печат ( „Актуализиран списък на студентите:“ , class_students )

В този пример оригиналният списък, който е „class_students“, съдържа имената на съществуващи ученици. Списъкът „new_students“ включва имената на учениците, които наскоро са се присъединили към класа. Чрез прилагането на метода extend() добавяме имената на новите студенти в края на оригиналния списък.

Пример 3: Прилагане на оператора „+=“ за конкатенация

Операторът “+=” е съкращение за метода extend(). Той променя списъка на място, като комбинира елементите от десния списък в левия списък.

Да предположим, че имаме списък с любими цветове и искаме да го актуализираме, като добавим още цветове с помощта на оператора „+=“.

любими_цветове = [ 'син' , 'зелено' , 'червен' ]

допълнителни_цветове = [ 'лилаво' , 'портокал' , 'жълто' ]

любими_цветове + = допълнителни_цветове

печат ( „Актуализирани любими цветове:“ , любими_цветове )

В този сценарий започваме със списък с любимите ни цветове, който е представен от „favorite_colors“. След това имаме някои нови цветове, които бихме искали да включим в списъка „additional_colors“. Използвайки оператора „+=“, ние комбинираме новите цветове с нашите съществуващи любими, променяйки списъка „favorite_colors“.

След операцията, когато отпечатаме „Нашите актуализирани любими цветове“, можем да видим следния резултат:

Пример 4: Използване на оператора „*“.

Операторът “*” може да се използва за репликация на списък. Но когато се прилага към списъци, той може да ги свърже чрез повтаряне на елементите.

Ето един пример:

оригинален_списък = [ 1 , 2 , 3 ]

свързан_списък = оригинален_списък * 3

печат ( свързан_списък )

В този случай започваме с „original_list“, който съдържа елементите [1, 2, 3]. С помощта на оператора „*“ създаваме нов списък, който е „concatenated_list“, който се състои от три повторения на елементите от оригиналния списък.

Въпреки че този подход е по-рядко срещан за конкатенация, той демонстрира гъвкавостта на операторите на Python.

Пример 5: Прилагане на функцията Itertools.chain().

Функцията itertools.chain() е част от модула „itertools“ и се използва за свързване на итерируемия (като списъци, кортежи или други итерируеми обекти) в единичен „итерируем“. За разлика от някои други методи за конкатенация, itertools.chain() не създава нов списък, а създава итератор върху елементите на входните итерируеми елементи.

от itertools импортиране верига

L1 = [ 1 , 2 , 3 ]

L2 = [ 'х' , 'и' , 'със' ]

конкатениран_итерируем = верига ( L1 , L2 )

списък с резултати = списък ( конкатениран_итерируем )

печат ( списък с резултати )

В дадения пример имаме два списъка – “L1” съдържа числовите стойности [1, 2, 3] и “L2” съдържа буквите [“x”, “y”, “z”]. Използвайки функцията itertools.chain(), ние свързваме тези списъци в един итерируем, представен от „concatenated_iterable“. След това функцията list() се прилага за преобразуване на итерируемия в списък, който води до комбиниран списък [1, 2, 3, “x”, “y”, “z”].

Пример 6: Срязване на списък

Като предоставя набор от индекси, нарязването на списък е техника, която ни позволява да извлечем подмножество от списък. Това включва използването на оператора двоеточие (:) в квадратните скоби за указване на началните, крайните и, по избор, стойностите на стъпките.

Ето примерния код:

действителен_списък = [ 1 , 2 , 3 , 4 , 5 ]

нарязан_списък = действителен_списък [ 1 : 4 ]

печат ( нарязан_списък )

Започваме илюстрацията с оригинален списък от числа, който се обозначава като „actual_list“, който съдържа елементите [1, 2, 3, 4, 5]. Извличаме конкретен сегмент от списъка, като използваме нарязването на списъка, което е мощна функция в Python. Срезът “actual_list[1:4]” се използва в този случай и избира елементите от индекс 1 до индекс 3 (но не и от индекс 4). Резултатът е нов списък, наречен „sliced_list“, който съдържа нарязаната част [2, 3, 4].

Пример 7: Конкатенация с функцията Zip().

Функцията zip() комбинира елементи от множество итерируеми елементи, създавайки двойки или кортежи от съответстващи елементи. Елементите на всяка итерация с един и същи индекс се използват за създаване на тези двойки.

студенти = [ 'Алиса' , 'Боб' , 'Чарли' ]

оценки = [ 85 , 92 , 78 ]

двойки_оценки_на_ученици = цип ( студенти , оценки )

резултат_дикт = дикт ( двойки_оценки_на_ученици )

печат ( „Двойки ученик-клас:“ , резултат_дикт )

В този пример функцията zip() сдвоява имената на учениците от списъка „студенти“ със съответните им оценки от списъка „оценки“, което води до речник, където всеки ученик е свързан със съответната си оценка.

Заключение

В заключение, Python предлага множество начини за свързване на списъците, всеки със своите предимства. Докато изследвахме различните методи, от простия оператор „+“ до по-нюансираната функция zip(), стана очевидно, че Python се грижи за различни стилове и предпочитания на програмиране. В зависимост от извършваната работа фактори като четливост, ефективност на паметта и типът на обработваните данни ще определят кой метод е най-добрият.