W Pythonie obiekty typu list są sekwencjami. Dla sekwencji zdefiniowano działanie operatora + jako konkatenację (sklejenie), czyli utworzenie nowej sekwencji zawierającej kolejno elementy z lewej i prawej strony.
W pokazanym kodzie:
- A to lista liczb od 1 do 5,
- B to lista liczb od 6 do 10,
- C = A + B tworzy nową listę, w której najpierw znajdują się elementy A, a potem elementy B.
Wynik wypisany przez print(C) to więc dokładnie: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].
Odpowiedź "[7, 9, 11, 13, 15]" odpowiadałaby dodawaniu element po elemencie (1+6, 2+7, …). Takie działanie nie jest standardowym zachowaniem zwykłych list w Pythonie. Elementowe dodawanie spotyka się np. w typach numerycznych z bibliotek, ale nie w bazowych listach.
Odpowiedź "[6, 7, 8, 9, 10, 1, 2, 3, 4, 5]" ma odwróconą kolejność. Konkatenacja zachowuje kolejność: najpierw lewa lista (A), potem prawa (B). Taki wynik mógłby powstać przy zapisie B + A, którego tutaj nie ma.
Odpowiedź "Błąd" byłaby poprawna, gdyby operator "+" nie był obsługiwany dla list lub gdyby w listach były niekompatybilne typy w kontekście innej operacji. Dla dwóch list operator "+" jest jednak poprawny składniowo i semantycznie: tworzy nową listę bez zgłaszania wyjątku.
Wskazówka egzaminacyjna: jeśli widzisz dwie listy i operator "+", myśl najpierw o sklejaniu. Gdy pytanie dotyczy sum elementów, zwykle pojawiają się pętle, zip(), wyrażenia listowe lub narzędzia numeryczne.