Słownik z dwóch list (klucze i wartości)

Zadanie 2 z 15 · rozdział 17Trudność: 1 z 3dictlisty

Treść zadania

Wczytaj dwie listy liczb całkowitych. Jeśli mają tę samą długość, utwórz słownik, w którym i-ty element pierwszej listy jest kluczem, a i-ty element drugiej listy — jego wartością. Jeśli długości są różne, wynikiem jest pusty słownik.

Dane wejściowe

  • 1. linia: n — długość pierwszej listy
  • 2. linia: m — długość drugiej listy
  • 3. linia: n liczb całkowitych oddzielonych spacjami (klucze)
  • 4. linia: m liczb całkowitych oddzielonych spacjami (wartości)

Dane wyjściowe

Słownik w postaci {klucz: wartość, …} z kluczami w kolejności z wejścia albo {}, gdy n ≠ m.

Ograniczenia

  • 1 ≤ n, m ≤ 20

Uwagi

  • Jeśli klucz powtarza się w pierwszej liście, obowiązuje jego ostatnia wartość, a klucz zostaje na miejscu swojego pierwszego wystąpienia — tak działa kolejne przypisanie slownik[klucz] = wartość. Na przykład klucze 1 2 1 i wartości 5 6 7 dają {1: 7, 2: 6}.

Przykład

Wejście
3
3
3 5 8
1 2 -1
Wyjście
{3: 1, 5: 2, 8: -1}

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 17

Zadania w tym rozdziale ćwiczą pracę ze słownikami (dict): tworzenie, dodawanie i usuwanie par, zliczanie wystąpień oraz grupowanie danych według klucza.
Każde zadanie (oraz każdy podpunkt) jest osobnym, niezależnym programem: czyta standardowe wejście (stdin) i wypisuje wynik na standardowe wyjście (stdout).

Konwencje wspólne:

  • Dane wczytuj dokładnie w kolejności podanej w sekcji Wejście; jeśli w jednej linii jest kilka wartości — rozbij ją po spacjach.
  • Jeśli wynikiem jest słownik, wypisz go tak, jak robi to print(slownik) w Pythonie: {klucz: wartość, klucz: wartość} — pary oddzielone przecinkiem i spacją, po dwukropku spacja, klucze i wartości napisowe w apostrofach (np. {'ala': 2, 'ma': 1}), liczby bez apostrofów (np. {1: 1, 2: 4}), pusty słownik to {}.
  • Kolejność par w wypisanym słowniku to kolejność, w jakiej klucze były do niego dodawane (tak zachowuje się słownik w Pythonie).
  • Program nie wypisuje komunikatów typu „Podaj liczbę:”.

Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.

Python uruchomi się w przeglądarce przy pierwszym teście.

Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.

Testy

Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.

Test 1

Nie uruchomiono
Wejście
3
3
1 2 3
4 5 6
Oczekiwane wyjście
{1: 4, 2: 5, 3: 6}

Test 2

Nie uruchomiono
Wejście
2
3
1 2
3 4 5
Oczekiwane wyjście
{}

Test 3

Nie uruchomiono
Wejście
1
1
0
0
Oczekiwane wyjście
{0: 0}

Test 4

Nie uruchomiono
Wejście
3
3
1 2 1
5 6 7
Oczekiwane wyjście
{1: 7, 2: 6}

Test 5

Nie uruchomiono
Wejście
4
4
-1 10 7 3
2 -20 0 9
Oczekiwane wyjście
{-1: 2, 10: -20, 7: 0, 3: 9}

Test 6

Nie uruchomiono
Wejście
3
2
1 2 3
1 2
Oczekiwane wyjście
{}
Uruchom z własnymi danymi