KWALIFIKACJA CHM4 - TEST WIEDZY NR 8

PYTANIE NR 11.
A = [1, 2, 3, 4, 5]
B = [6, 7, 8, 9, 10]
C = A + B
print(C)
Jaki wynik zwróci powyższy kod w Pythonie?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Operator "+" dla list w Pythonie wykonuje konkatenację, czyli tworzy nową listę z elementów pierwszej i drugiej listy w tej kolejności.
Dlatego C = A + B daje [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], a nie sumy elementów ani błąd wykonania.

Pełne wyjaśnienie:

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.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Dla dwóch list operator + oznacza konkatenację, czyli "sklejenie" list w jedną nową listę. Wynik zawiera najpierw wszystkie elementy z lewej listy, a potem wszystkie elementy z prawej listy, bez żadnego dodawania elementowego.
Listy Pythona są sekwencjami ogólnego przeznaczenia, więc + działa jak łączenie sekwencji. Dodawanie element po elemencie nie jest wbudowaną operacją list, bo lista może zawierać różne typy danych, a nie tylko liczby.
Najczęściej używa się zip() i wyrażenia listowego, np. [x+y for x,y in zip(A,B)]. To działa, gdy listy mają odpowiednią długość i elementy są liczbami. W samym zadaniu użyto jednak zwykłego A + B, czyli konkatenacji.
Nie. Wyrażenie A + B tworzy nową listę. Oryginalne listy A i B pozostają bez zmian. To ważne przy analizie kodu: wynik przypisany do C jest osobnym obiektem.
extend() służy do dopisania elementów drugiej listy do pierwszej "w miejscu" (modyfikuje istniejącą listę). Operator + zwraca nową listę. W zadaniach egzaminacyjnych to typowa pułapka: trzeba rozróżnić tworzenie nowego wyniku od modyfikacji istniejącej listy.
Nie wprost. Konkatenacja wymaga zgodności typów sekwencji: lista + lista daje listę, a krotka + krotka daje krotkę. Próba połączenia listy i krotki operatorem + zwykle kończy się błędem typu. Trzeba jawnie skonwertować typ, np. A + list(B).
Sprawdź typ danych i operator. Dla list operator + oznacza łączenie sekwencji. Jeśli widzisz pętlę, zip(), wyrażenie listowe lub funkcje z bibliotek numerycznych, wtedy częściej chodzi o działanie elementowe.
Wiele osób pamięta, że "nie wszystko da się dodać", więc automatycznie zakłada wyjątek. W Pythonie listy mają jednak zdefiniowaną konkatenację przez +. Błąd pojawia się dopiero przy łączeniu niezgodnych typów (np. lista i liczba) albo przy innych, niepoprawnych operacjach.
Wystarczy uruchomić interpreter Pythona i wpisać definicje list, a potem wyrażenie A + B. Interpreter od razu pokaże wynik. To szybka metoda w nauce: testuj operacje na małych przykładach, aby utrwalić semantykę typów wbudowanych.
Tak. Możesz łączyć wiele list, np. A + B + D. Python wykona to jako kolejne konkatenacje. W praktyce, gdy list jest dużo, rozważa się inne podejście (np. extend() lub składanie), ale semantycznie wynik to nadal jedna lista z zachowaną kolejnością.
info

To pytanie poprawnie rozwiązuje 82% zdających egzamin. średnio łatwe

Źródła:

  • Python 3 Documentation – Built-in Types: Lists (sequence operations, concatenation with +): https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range (dostęp: 2026-03-02)
  • The Python Tutorial – Data Structures (lists, operations): https://docs.python.org/3/tutorial/datastructures.html (dostęp: 2026-03-02)
  • Python Language Reference – Expressions (operator behavior defined for built-in types; odniesienie do semantyki operatorów): https://docs.python.org/3/reference/expressions.html (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja Pythona: typy wbudowane (list)
  • Tutorial Pythona: struktury danych
  • Ćwiczenia z operacji na sekwencjach (listy, krotki) i operatorów

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego