Пример 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 се грижи за различни стилове и предпочитания на програмиране. В зависимост от извършваната работа фактори като четливост, ефективност на паметта и типът на обработваните данни ще определят кой метод е най-добрият.