Files
wehub-resource-sync dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

2.2 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
69c6ff713a52713463aa7928 Challenge 262: URL Query Parser 29 challenge-262

--description--

Given a URL that contains a query string, parse the query string into an object (or dictionary) of key-value pairs.

  • The query string begins after the "?",
  • each parameter is separated by "&",
  • each key/value pair is separated by "="

For example, given "https://example.com/search?name=Alice&age=30", return:

{
  "name": "Alice",
  "age": "30"
}

All values should be returned as strings.

--hints--

parse_url_query("https://example.com/search?name=Alice&age=30") should return {"name": "Alice", "age": "30"}

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(parse_url_query("https://example.com/search?name=Alice&age=30"), {"name": "Alice", "age": "30"})`)
}})

parse_url_query("https://freecodecamp.org/learn?skill=programming&language=python") should return {"skill": "programming", "language": "python"}

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(parse_url_query("https://freecodecamp.org/learn?skill=programming&language=python"), {"skill": "programming", "language": "python"})`)
}})

parse_url_query("https://freecodecamp.org/items?category=books&sort=asc&page=2") should return {"category": "books", "sort": "asc", "page": "2"}

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(parse_url_query("https://freecodecamp.org/items?category=books&sort=asc&page=2"), {"category": "books", "sort": "asc", "page": "2"})`)
}})

parse_url_query("https://example.com?redirect=freecodecamp.org/learn&when=now") should return {"redirect": "freecodecamp.org/learn", "when": "now"}

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(parse_url_query("https://example.com?redirect=freecodecamp.org/learn&when=now"), {"redirect": "freecodecamp.org/learn", "when": "now"})`)
}})

--seed--

--seed-contents--

def parse_url_query(url):

    return url

--solutions--

def parse_url_query(url):
    query_string = url.split('?')[1]
    return dict(param.split('=') for param in query_string.split('&'))