{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## [Fájlkezelés](https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files)\n", "\n", "- A fájl valamilyen adathordozón tárolt, logikailag összefüggő adatok összessége.\n", "- Egy fájl életciklusa a következő lépésekből áll:\n", " 1. megnyitás\n", " 2. olvasás, írás, pozícionálás, ...\n", " 3. bezárás" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Fájl megnyitása (precízebben: létező fájl megnyitása olvasásra).\n", "f = open('example_file.txt')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "_io.TextIOWrapper" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(f)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Fájl bezárása.\n", "f.close()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# example data\n", "apple,10\n", "pear,20\n", "cherry,30\n", "\n" ] } ], "source": [ "# Fájl tartalmának beolvasása sztringbe.\n", "f = open('example_file.txt')\n", "s = f.read()\n", "f.close()\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# example data\n", "apple,10\n", "pear,20\n", "cherry,30\n", "\n" ] } ], "source": [ "# ...ugyenez rövidebben:\n", "s = open('example_file.txt').read()\n", "print(s)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Megjegyzés: CPython értelmező esetén a fájl automatikusan bezáródik, ha minden hivatkozás megszűnik rá." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# example data\n", "\n", "apple,10\n", "\n" ] } ], "source": [ "# Első 2 sor beolvasása.\n", "f = open('example_file.txt')\n", "print(f.readline())\n", "print(f.readline())\n", "f.close()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'# example data\\n'" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Megjegyzés: A readline a sortörést is beteszi az eredménybe.\n", "line = open('example_file.txt').readline()\n", "line" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'# example data'" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# A sortörést pl. a strip függvénnyel vághatjuk le:\n", "line.strip()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['# example data\\n', 'apple,10\\n', 'pear,20\\n', 'cherry,30\\n']" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Fájl sorainak beolvasása sztringlistába.\n", "open('example_file.txt').readlines()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['aa', 'bb', 'ccc']" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Sztring darabolása egy határoló jelsorozat mentén (tokenizálás).\n", "line = 'aa,bb,ccc'\n", "line.split(',')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['aa', 'bb', 'ccc']" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Alapértelmezés szerint a split fehér karakterek mentén darabol.\n", "line = 'aa bb\\tccc\\n'\n", "line.split()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# example data\n", "\n", "apple,10\n", "\n", "pear,20\n", "\n", "cherry,30\n", "\n" ] } ], "source": [ "# Iterálás egy szövegfájl sorain.\n", "for line in open('example_file.txt'):\n", " print(line)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# Fájl első sorának átugrása, a további sorok tokenizálása.\n", "f = open('example_file.txt')\n", "f.readline() # első sor átugrása\n", "data = []\n", "for line in f: # végigmegyünk a további sorokon\n", " tok = line.strip().split(',')\n", " rec = tok[0], int(tok[1])\n", " data.append(rec)\n", "f.close()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('apple', 10), ('pear', 20), ('cherry', 30)]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# Sztring fájlba írása.\n", "f = open('example_file_2.txt', 'w')\n", "f.write('Apple\\nBanana\\n')\n", "f.close()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "13" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ...ugyanez tömörebben:\n", "open('example_file_2.txt', 'w').write('Apple\\nBanana\\n')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(CPython értelmező esetén a fájl azonnal bezáródik, mivel nincsen rá több hivatkozás.)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# Celsius-Fahrenheit táblázatot tartalmazó fájl elkészítése.\n", "file = open('celsius_fahrenheit.txt', 'w')\n", "file.write(f' °C °F\\n')\n", "for c in range(-40, 41, 5):\n", " f = c * 9 / 5 + 32\n", " file.write(f'{c:8}{f:8}\\n')\n", "file.close()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'a',\n", " 'az',\n", " 'csinálja',\n", " 'egyáltalán',\n", " 'fortranban',\n", " 'gépidőelszámolást',\n", " 'ha',\n", " 'igazi',\n", " 'intelligencia',\n", " 'manipulációt',\n", " 'megcsinálja',\n", " 'mesterséges',\n", " 'már',\n", " 'programokat',\n", " 'programozó',\n", " 'szimbólum',\n", " 'szövegkezelést'}" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Határozzuk meg az igazi.txt szövegfájlban található szavak halmazát!\n", "{line.strip() for line in open('igazi.txt', encoding='utf-8')}" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[0, 1, 1, 0, 1, 0, 1, 1, 0, 1],\n", " [0, 0, 1, 0, 1, 1, 0, 1, 0, 1],\n", " [0, 0, 1, 0, 0, 0, 1, 1, 0, 0],\n", " [0, 1, 0, 0, 1, 0, 1, 1, 0, 0],\n", " [1, 0, 1, 1, 0, 0, 1, 0, 1, 1],\n", " [1, 0, 1, 0, 0, 1, 1, 0, 1, 0],\n", " [1, 1, 1, 0, 1, 1, 1, 0, 1, 1],\n", " [0, 0, 0, 0, 0, 1, 0, 1, 0, 1],\n", " [1, 1, 0, 1, 0, 1, 1, 1, 0, 0],\n", " [1, 0, 1, 0, 1, 0, 0, 1, 0, 1]]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Olvassuk be a matrix.txt szövegfájl tartalmát egész számok listájának listájába!\n", "matrix = []\n", "for line in open('matrix.txt'):\n", " row = [int(x) for x in line.split()]\n", " matrix.append(row)\n", "matrix" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[0, 1, 1, 0, 1, 0, 1, 1, 0, 1],\n", " [0, 0, 1, 0, 1, 1, 0, 1, 0, 1],\n", " [0, 0, 1, 0, 0, 0, 1, 1, 0, 0],\n", " [0, 1, 0, 0, 1, 0, 1, 1, 0, 0],\n", " [1, 0, 1, 1, 0, 0, 1, 0, 1, 1],\n", " [1, 0, 1, 0, 0, 1, 1, 0, 1, 0],\n", " [1, 1, 1, 0, 1, 1, 1, 0, 1, 1],\n", " [0, 0, 0, 0, 0, 1, 0, 1, 0, 1],\n", " [1, 1, 0, 1, 0, 1, 1, 1, 0, 0],\n", " [1, 0, 1, 0, 1, 0, 0, 1, 0, 1]]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Ugyanez dupla comprehension-nel:\n", "matrix = [[int(x) for x in l.split()]\n", " for l in open('matrix.txt')]\n", "matrix" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gyakorlás: Szóstatisztika\n", "\n", "A [hamlet.txt](hamlet.txt) fájl a [Hamlet](https://hu.wikipedia.org/wiki/Hamlet,_d%C3%A1n_kir%C3%A1lyfi) angol nyelvű szövegkönyvét tartalmazza. Készítsünk programot, amely kiszámítja majd kiírja a szövegkönyvben szereplő 30 leggyakoribb szót! A szó definíciója a következő legyen:\n", "\n", "- A szavakat a fehér karakterek (szóköz, tabulátor, soremelés) választják el egymástól.\n", "- A kis- és nagybetűk ne számítsanak különbözőnek!\n", "- A szó elején és végén található központozás karakterek ne számítsanak bele a szóba!" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# Beolvasás kisbetűs szavak listájába.\n", "words = open('hamlet.txt').read().lower().split()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "# Központozás karakterek eltávolítása.\n", "import string\n", "words = [w.strip(string.punctuation) for w in words]" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "# Szógyakoriságok kiszámítása.\n", "freq = {} # kulcs: szó, érték: előfordulások száma\n", "for w in words:\n", " if w in freq: freq[w] += 1\n", " else: freq[w] = 1" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "freq2 = sorted([(x[1], x[0]) for x in freq.items()], reverse=True)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1145, 'the')\n", "(973, 'and')\n", "(736, 'to')\n", "(674, 'of')\n", "(565, 'i')\n", "(539, 'you')\n", "(534, 'a')\n", "(513, 'my')\n", "(431, 'in')\n", "(409, 'it')\n", "(381, 'that')\n", "(358, 'ham')\n", "(339, 'is')\n", "(310, 'not')\n", "(297, 'this')\n", "(297, 'his')\n", "(268, 'with')\n", "(258, 'but')\n", "(248, 'for')\n", "(241, 'your')\n", "(231, 'me')\n", "(223, 'lord')\n", "(219, 'as')\n", "(216, 'be')\n", "(213, 'he')\n", "(200, 'what')\n", "(195, 'king')\n", "(195, 'him')\n", "(194, 'so')\n", "(180, 'have')\n" ] } ], "source": [ "# Kiírás.\n", "for i in range(30):\n", " print(freq2[i])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gyakorlás: Premier League tabella\n", "\n", "A [pl.txt](pl.txt) szövegfájl a Premier League 2011-12-es szezonjának eredményeit tartalmazza. Készítsünk programot, amely:\n", "\n", "- kiírja, hogy a mérkőzések hány százalékán esett gól,\n", "- kiírja, hogy melyik mérkőzésen esett a legtöbb gól,\n", "- bekéri a felhasználótól n értékét, majd kiírja a bajnokság állását az n. forduló után (rendezési szempontok: pontszám, gólkülönbség, több rúgott gól)!" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "# Adatok beolvasása szótárak listájába.\n", "games = []\n", "f = open('pl.txt')\n", "\n", "# első 6 sor átugrása\n", "for i in range(6): f.readline()\n", " \n", "# további sorok feldolgozása\n", "for line in f:\n", " tok = line.split('\\t')\n", " rec = {\n", " 'round': int(tok[0]),\n", " 'hteam': tok[1],\n", " 'ateam': tok[2],\n", " 'hgoals': int(tok[3]),\n", " 'agoals': int(tok[4])\n", " }\n", " games.append(rec)\n", " \n", "f.close()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'round': 1,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 1,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 1,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 1,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 0,\n", " 'agoals': 4},\n", " {'round': 1,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 1,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 1,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 1,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 1,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 4,\n", " 'agoals': 0},\n", " {'round': 1,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 2,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 2,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 2,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 2,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 2,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 2,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 2,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 2,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 2,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 2,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 3,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 3,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 3,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 3,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 3,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 3,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 3,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 3,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 1,\n", " 'agoals': 5},\n", " {'round': 3,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 3,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 8,\n", " 'agoals': 2},\n", " {'round': 4,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 4,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 4,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 4,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 4,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 4,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 4,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 0,\n", " 'agoals': 5},\n", " {'round': 4,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 4,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 4,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 5,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 4,\n", " 'agoals': 3},\n", " {'round': 5,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 5,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 5,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 5,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 5,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 0,\n", " 'agoals': 3},\n", " {'round': 5,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 4,\n", " 'agoals': 0},\n", " {'round': 5,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 5,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 4,\n", " 'agoals': 0},\n", " {'round': 5,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 6,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 6,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 6,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 4,\n", " 'agoals': 1},\n", " {'round': 6,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 6,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 6,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 6,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 6,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 6,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 6,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 7,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 7,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 7,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 0,\n", " 'agoals': 4},\n", " {'round': 7,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 7,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 7,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 7,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 1,\n", " 'agoals': 5},\n", " {'round': 7,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 6,\n", " 'agoals': 0},\n", " {'round': 7,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 7,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 8,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 8,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 4,\n", " 'agoals': 1},\n", " {'round': 8,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 8,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 8,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 8,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 1,\n", " 'agoals': 3},\n", " {'round': 8,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 8,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 8,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 8,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 9,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 9,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 9,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 9,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 9,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 9,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 9,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 1,\n", " 'agoals': 3},\n", " {'round': 9,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 1,\n", " 'agoals': 6},\n", " {'round': 9,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 9,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 10,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 10,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 3,\n", " 'agoals': 5},\n", " {'round': 10,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 10,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 3,\n", " 'agoals': 3},\n", " {'round': 10,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 10,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 10,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 10,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 10,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 10,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 1,\n", " 'agoals': 3},\n", " {'round': 11,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 11,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 11,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 3,\n", " 'agoals': 2},\n", " {'round': 11,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 11,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 11,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 11,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 11,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 11,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 5,\n", " 'agoals': 0},\n", " {'round': 11,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 1,\n", " 'agoals': 3},\n", " {'round': 12,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 12,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 12,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 12,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 12,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 12,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 12,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 3,\n", " 'agoals': 3},\n", " {'round': 12,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 12,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 12,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 13,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 13,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 13,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 13,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 13,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 13,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 13,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 1,\n", " 'agoals': 3},\n", " {'round': 13,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 13,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 13,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 14,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 0,\n", " 'agoals': 3},\n", " {'round': 14,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 4,\n", " 'agoals': 2},\n", " {'round': 14,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 5,\n", " 'agoals': 1},\n", " {'round': 14,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 14,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 14,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 0,\n", " 'agoals': 4},\n", " {'round': 14,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 14,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 14,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 14,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 15,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 15,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 15,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 15,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 4,\n", " 'agoals': 1},\n", " {'round': 15,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 4,\n", " 'agoals': 2},\n", " {'round': 15,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 15,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 15,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 15,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 15,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 16,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 16,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 16,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 16,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 16,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 16,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 16,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 16,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 16,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 16,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 17,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 17,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 17,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 17,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 17,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 17,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 17,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 17,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 17,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 0,\n", " 'agoals': 5},\n", " {'round': 17,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 18,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 18,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 18,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 18,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 5,\n", " 'agoals': 0},\n", " {'round': 18,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 18,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 18,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 18,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 18,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 18,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 19,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 19,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 19,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 19,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 19,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 1,\n", " 'agoals': 3},\n", " {'round': 19,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 19,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 19,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 19,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 19,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 20,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 20,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 20,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 20,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 20,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 20,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 20,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 1,\n", " 'agoals': 4},\n", " {'round': 20,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 20,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 20,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 21,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 21,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 21,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 21,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 21,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 21,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 21,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 21,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 21,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 3,\n", " 'agoals': 2},\n", " {'round': 21,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 22,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 22,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 22,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 5,\n", " 'agoals': 2},\n", " {'round': 22,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 22,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 22,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 22,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 22,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 22,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 3,\n", " 'agoals': 2},\n", " {'round': 22,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 23,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 23,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 23,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 0,\n", " 'agoals': 3},\n", " {'round': 23,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 23,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 23,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 23,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 23,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 23,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 23,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 24,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 7,\n", " 'agoals': 1},\n", " {'round': 24,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 24,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 24,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 24,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 24,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 24,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 24,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 24,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 3,\n", " 'agoals': 3},\n", " {'round': 24,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 25,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 25,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 3,\n", " 'agoals': 2},\n", " {'round': 25,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 25,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 25,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 25,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 25,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 25,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 5,\n", " 'agoals': 0},\n", " {'round': 25,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 1,\n", " 'agoals': 5},\n", " {'round': 25,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 26,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 26,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 26,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 26,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 4,\n", " 'agoals': 0},\n", " {'round': 26,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 26,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 26,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 5,\n", " 'agoals': 2},\n", " {'round': 26,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 26,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 26,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 27,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 27,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 27,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 27,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 27,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 27,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 27,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 27,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 27,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 5,\n", " 'agoals': 0},\n", " {'round': 27,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 1,\n", " 'agoals': 3},\n", " {'round': 28,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 28,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 28,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 28,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 28,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 28,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 28,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 28,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 28,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 28,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 29,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 0,\n", " 'agoals': 3},\n", " {'round': 29,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 29,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 0,\n", " 'agoals': 5},\n", " {'round': 29,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 29,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 29,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 29,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 29,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 29,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 3,\n", " 'agoals': 2},\n", " {'round': 29,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 30,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 30,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 30,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 30,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 30,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 30,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 30,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 30,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 30,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 1,\n", " 'agoals': 3},\n", " {'round': 30,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 31,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 2,\n", " 'agoals': 4},\n", " {'round': 31,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 31,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 31,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 3,\n", " 'agoals': 3},\n", " {'round': 31,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 31,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 31,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 31,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 31,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 31,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 32,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 32,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 32,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 0,\n", " 'agoals': 3},\n", " {'round': 32,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 32,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 32,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 32,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 32,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 32,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 32,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 33,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 4,\n", " 'agoals': 0},\n", " {'round': 33,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 33,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 33,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 33,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 33,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 33,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 4,\n", " 'agoals': 0},\n", " {'round': 33,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 33,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 0,\n", " 'agoals': 3},\n", " {'round': 33,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 34,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 1,\n", " 'agoals': 6},\n", " {'round': 34,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 34,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 34,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 34,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 4,\n", " 'agoals': 0},\n", " {'round': 34,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 1,\n", " 'agoals': 2},\n", " {'round': 34,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 34,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 34,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 34,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 1,\n", " 'agoals': 4},\n", " {'round': 35,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 35,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 35,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 35,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 35,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 35,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 3,\n", " 'agoals': 0},\n", " {'round': 35,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 35,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 4,\n", " 'agoals': 4},\n", " {'round': 35,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 35,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 36,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 4,\n", " 'agoals': 0},\n", " {'round': 36,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 36,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 36,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 4,\n", " 'agoals': 4},\n", " {'round': 36,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 36,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 4,\n", " 'agoals': 0},\n", " {'round': 36,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 0,\n", " 'agoals': 3},\n", " {'round': 36,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 6,\n", " 'agoals': 1},\n", " {'round': 36,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 36,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 37,\n", " 'hteam': 'Arsenal FC',\n", " 'ateam': 'Norwich City',\n", " 'hgoals': 3,\n", " 'agoals': 3},\n", " {'round': 37,\n", " 'hteam': 'Newcastle United',\n", " 'ateam': 'Manchester City',\n", " 'hgoals': 0,\n", " 'agoals': 2},\n", " {'round': 37,\n", " 'hteam': 'Aston Villa',\n", " 'ateam': 'Tottenham Hotspur',\n", " 'hgoals': 1,\n", " 'agoals': 1},\n", " {'round': 37,\n", " 'hteam': 'Bolton Wanderers',\n", " 'ateam': 'West Bromwich Albion',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 37,\n", " 'hteam': 'Fulham FC',\n", " 'ateam': 'Sunderland AFC',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 37,\n", " 'hteam': 'Queens Park Rangers',\n", " 'ateam': 'Stoke City',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 37,\n", " 'hteam': 'Wolverhampton Wanderers',\n", " 'ateam': 'Everton FC',\n", " 'hgoals': 0,\n", " 'agoals': 0},\n", " {'round': 37,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Swansea City',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 37,\n", " 'hteam': 'Blackburn Rovers',\n", " 'ateam': 'Wigan Athletic',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 37,\n", " 'hteam': 'Liverpool FC',\n", " 'ateam': 'Chelsea FC',\n", " 'hgoals': 4,\n", " 'agoals': 1},\n", " {'round': 38,\n", " 'hteam': 'Chelsea FC',\n", " 'ateam': 'Blackburn Rovers',\n", " 'hgoals': 2,\n", " 'agoals': 1},\n", " {'round': 38,\n", " 'hteam': 'Everton FC',\n", " 'ateam': 'Newcastle United',\n", " 'hgoals': 3,\n", " 'agoals': 1},\n", " {'round': 38,\n", " 'hteam': 'Manchester City',\n", " 'ateam': 'Queens Park Rangers',\n", " 'hgoals': 3,\n", " 'agoals': 2},\n", " {'round': 38,\n", " 'hteam': 'Norwich City',\n", " 'ateam': 'Aston Villa',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 38,\n", " 'hteam': 'Stoke City',\n", " 'ateam': 'Bolton Wanderers',\n", " 'hgoals': 2,\n", " 'agoals': 2},\n", " {'round': 38,\n", " 'hteam': 'Sunderland AFC',\n", " 'ateam': 'Manchester United',\n", " 'hgoals': 0,\n", " 'agoals': 1},\n", " {'round': 38,\n", " 'hteam': 'Swansea City',\n", " 'ateam': 'Liverpool FC',\n", " 'hgoals': 1,\n", " 'agoals': 0},\n", " {'round': 38,\n", " 'hteam': 'Tottenham Hotspur',\n", " 'ateam': 'Fulham FC',\n", " 'hgoals': 2,\n", " 'agoals': 0},\n", " {'round': 38,\n", " 'hteam': 'West Bromwich Albion',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 2,\n", " 'agoals': 3},\n", " {'round': 38,\n", " 'hteam': 'Wigan Athletic',\n", " 'ateam': 'Wolverhampton Wanderers',\n", " 'hgoals': 3,\n", " 'agoals': 2}]" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "games" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "92.89473684210526" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# A mérkőzések hány százalékán esett gól?\n", "count = 0\n", "for g in games:\n", " if g['hgoals'] + g['agoals'] > 0:\n", " count += 1\n", "count / len(games) * 100" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "92.89473684210526" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ...ugyanez tömörebben:\n", "sum([g['hgoals'] + g['agoals'] > 0 for g in games]) / len(games) * 100" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'round': 3,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 8,\n", " 'agoals': 2}" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Melyik mérkőzésen esett a legtöbb gól?\n", "maxgoals = 0\n", "for g in games:\n", " goals = g['hgoals'] + g['hgoals']\n", " if goals > maxgoals:\n", " maxgoals = goals\n", " bestgame = g\n", "bestgame" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'round': 3,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 8,\n", " 'agoals': 2}" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ...ugyanez tömörebben:\n", "max([(g['hgoals'] + g['agoals'], g) for g in games], key=lambda x: x[0])[1]" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'round': 3,\n", " 'hteam': 'Manchester United',\n", " 'ateam': 'Arsenal FC',\n", " 'hgoals': 8,\n", " 'agoals': 2}" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ...még tömörebben:\n", "max(games, key=lambda g: g['hgoals'] + g['agoals'])" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "n: 2\n" ] } ], "source": [ "# A bajnokság állása az n. forduló után (rendezési szempontok: pontszám, gólkülönbség, több rúgott gól).\n", "# - a győztes 3, a vesztes 0 pontot kap\n", "# - döntetlen esetén mindkét csapat 1 pontot kap\n", "\n", "# n bekérése\n", "n = int(input('n: '))" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "teams = {} # kulcs: csapatnév, érték: [pontszám, gólkülönbség, rúgott gólok száma] - az n. forduló után\n", "\n", "# csapatok felvétele\n", "for g in games:\n", " teams[g['hteam']] = [0, 0, 0]\n", " \n", "# statisztikák frissítése\n", "for g in games:\n", " if g['round'] <= n:\n", " hstats = teams[g['hteam']]\n", " astats = teams[g['ateam']]\n", " \n", " # pontszám frissítése\n", " if g['hgoals'] > g['agoals']:\n", " hstats[0] += 3\n", " elif g['hgoals'] == g['agoals']:\n", " hstats[0] += 1\n", " astats[0] += 1\n", " else:\n", " astats[0] += 3\n", " \n", " # gólkülönbség frissítése\n", " gdiff = g['hgoals'] - g['agoals']\n", " hstats[1] += gdiff\n", " astats[1] -= gdiff\n", " \n", " # rúgott gólok számának frissítése\n", " hstats[2] += g['hgoals']\n", " astats[2] += g['agoals']" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'Blackburn Rovers': [0, -3, 2],\n", " 'Fulham FC': [1, -2, 0],\n", " 'Liverpool FC': [4, 2, 3],\n", " 'Queens Park Rangers': [3, -3, 1],\n", " 'Wigan Athletic': [2, 0, 1],\n", " 'Newcastle United': [4, 1, 1],\n", " 'Stoke City': [2, 0, 1],\n", " 'West Bromwich Albion': [0, -2, 2],\n", " 'Manchester City': [6, 5, 7],\n", " 'Tottenham Hotspur': [3, -1, 2],\n", " 'Sunderland AFC': [1, -1, 1],\n", " 'Arsenal FC': [1, -2, 0],\n", " 'Aston Villa': [4, 2, 3],\n", " 'Everton FC': [0, -3, 0],\n", " 'Swansea City': [1, -4, 0],\n", " 'Chelsea FC': [4, 1, 2],\n", " 'Norwich City': [2, 0, 2],\n", " 'Wolverhampton Wanderers': [6, 3, 4],\n", " 'Bolton Wanderers': [3, 3, 6],\n", " 'Manchester United': [6, 4, 5]}" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "teams" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "# A statisztikák frissítése, tömörebben:\n", "\n", "teams = {} # kulcs: csapatnév, érték: [pontszám, gólkülönbség, rúgott gólok száma] - az n. forduló után\n", "for g in games:\n", " teams[g['hteam']] = [0, 0, 0] # inicializálás\n", "\n", "def update_stats(mgoals, ogoals, stats):\n", " if mgoals > ogoals: stats[0] += 3\n", " elif mgoals == ogoals: stats[0] += 1\n", " \n", " stats[1] += mgoals - ogoals\n", " stats[2] += mgoals\n", "\n", "# statisztikák frissítése\n", "for g in games:\n", " if g['round'] <= n:\n", " update_stats(g['hgoals'], g['agoals'], teams[g['hteam']]) # hazai \"nézőpont\"\n", " update_stats(g['agoals'], g['hgoals'], teams[g['ateam']]) # vendég \"nézőpont\"" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'Blackburn Rovers': [0, -3, 2],\n", " 'Fulham FC': [1, -2, 0],\n", " 'Liverpool FC': [4, 2, 3],\n", " 'Queens Park Rangers': [3, -3, 1],\n", " 'Wigan Athletic': [2, 0, 1],\n", " 'Newcastle United': [4, 1, 1],\n", " 'Stoke City': [2, 0, 1],\n", " 'West Bromwich Albion': [0, -2, 2],\n", " 'Manchester City': [6, 5, 7],\n", " 'Tottenham Hotspur': [3, -1, 2],\n", " 'Sunderland AFC': [1, -1, 1],\n", " 'Arsenal FC': [1, -2, 0],\n", " 'Aston Villa': [4, 2, 3],\n", " 'Everton FC': [0, -3, 0],\n", " 'Swansea City': [1, -4, 0],\n", " 'Chelsea FC': [4, 1, 2],\n", " 'Norwich City': [2, 0, 2],\n", " 'Wolverhampton Wanderers': [6, 3, 4],\n", " 'Bolton Wanderers': [3, 3, 6],\n", " 'Manchester United': [6, 4, 5]}" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "teams" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "# rendezés\n", "ranking = sorted(teams, key=lambda t: teams[t], reverse=True)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1. Manchester City 5 7 6\n", " 2. Manchester United 4 5 6\n", " 3. Wolverhampton Wanderers 3 4 6\n", " 4. Liverpool FC 2 3 4\n", " 5. Aston Villa 2 3 4\n", " 6. Chelsea FC 1 2 4\n", " 7. Newcastle United 1 1 4\n", " 8. Bolton Wanderers 3 6 3\n", " 9. Tottenham Hotspur -1 2 3\n", "10. Queens Park Rangers -3 1 3\n", "11. Norwich City 0 2 2\n", "12. Wigan Athletic 0 1 2\n", "13. Stoke City 0 1 2\n", "14. Sunderland AFC -1 1 1\n", "15. Fulham FC -2 0 1\n", "16. Arsenal FC -2 0 1\n", "17. Swansea City -4 0 1\n", "18. West Bromwich Albion -2 2 0\n", "19. Blackburn Rovers -3 2 0\n", "20. Everton FC -3 0 0\n" ] } ], "source": [ "# formázott kiírás\n", "idx = 0\n", "for t in ranking:\n", " idx += 1\n", " s = teams[t]\n", " print(f'{idx:2}. {t:25} {s[1]:4} {s[2]:4} {s[0]:4}')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.3" } }, "nbformat": 4, "nbformat_minor": 2 }