[{"data":1,"prerenderedAt":2525},["ShallowReactive",2],{"doc-\u002Flearn\u002Fdictionary-comprehensions-explained":3},{"id":4,"title":5,"body":6,"description":2518,"extension":2519,"meta":2520,"navigation":343,"path":2521,"seo":2522,"stem":2523,"__hash__":2524},"content\u002Flearn\u002Fdictionary-comprehensions-explained.md","Dictionary Comprehensions Explained",{"type":7,"value":8,"toc":2486},"minimark",[9,13,17,20,29,34,148,155,159,162,178,181,195,198,209,213,216,246,249,268,271,303,309,314,388,391,427,430,448,452,455,531,533,577,580,594,597,697,699,747,750,758,765,769,775,778,881,883,918,921,935,938,950,953,1076,1078,1111,1115,1118,1121,1132,1135,1146,1150,1244,1246,1286,1290,1361,1364,1367,1370,1378,1382,1385,1389,1392,1422,1425,1488,1498,1502,1505,1508,1568,1570,1591,1594,1597,1659,1663,1666,1669,1673,1676,1679,1760,1762,1795,1802,1806,1809,1823,1827,1892,1894,1956,1960,2010,2012,2065,2069,2198,2200,2253,2257,2260,2277,2280,2384,2387,2401,2413,2417,2421,2426,2430,2436,2440,2443,2447,2450,2454,2479,2482],[10,11,5],"h1",{"id":12},"dictionary-comprehensions-explained",[14,15,16],"p",{},"A dictionary comprehension is a short way to create a dictionary in Python.",[14,18,19],{},"It lets you build keys and values in one line instead of writing a full loop. This is useful when you want to transform existing data into a new dictionary.",[14,21,22,23,28],{},"If you already know what a Python dictionary is, this is the next step toward writing shorter and cleaner code. If not, read ",[24,25,27],"a",{"href":26},"\u002Flearn\u002Fpython-dictionaries-explained","Python dictionaries explained"," first.",[30,31,33],"h2",{"id":32},"quick-example","Quick example",[35,36,41],"pre",{"className":37,"code":38,"language":39,"meta":40,"style":40},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","numbers = [1, 2, 3, 4]\nsquares = {n: n * n for n in numbers}\nprint(squares)\n# {1: 1, 2: 4, 3: 9, 4: 16}\n","python","",[42,43,44,84,124,141],"code",{"__ignoreMap":40},[45,46,49,53,57,61,65,68,71,73,76,78,81],"span",{"class":47,"line":48},"line",1,[45,50,52],{"class":51},"su5hD","numbers ",[45,54,56],{"class":55},"smGrS","=",[45,58,60],{"class":59},"sP7_E"," [",[45,62,64],{"class":63},"srdBf","1",[45,66,67],{"class":59},",",[45,69,70],{"class":63}," 2",[45,72,67],{"class":59},[45,74,75],{"class":63}," 3",[45,77,67],{"class":59},[45,79,80],{"class":63}," 4",[45,82,83],{"class":59},"]\n",[45,85,87,90,92,95,98,101,104,107,109,113,115,118,121],{"class":47,"line":86},2,[45,88,89],{"class":51},"squares ",[45,91,56],{"class":55},[45,93,94],{"class":59}," {",[45,96,97],{"class":51},"n",[45,99,100],{"class":59},":",[45,102,103],{"class":51}," n ",[45,105,106],{"class":55},"*",[45,108,103],{"class":51},[45,110,112],{"class":111},"sVHd0","for",[45,114,103],{"class":51},[45,116,117],{"class":111},"in",[45,119,120],{"class":51}," numbers",[45,122,123],{"class":59},"}\n",[45,125,127,131,134,138],{"class":47,"line":126},3,[45,128,130],{"class":129},"sptTA","print",[45,132,133],{"class":59},"(",[45,135,137],{"class":136},"slqww","squares",[45,139,140],{"class":59},")\n",[45,142,144],{"class":47,"line":143},4,[45,145,147],{"class":146},"sutJx","# {1: 1, 2: 4, 3: 9, 4: 16}\n",[14,149,150,151,154],{},"A dictionary comprehension builds a dictionary in one line using ",[42,152,153],{},"key: value for item in iterable",".",[30,156,158],{"id":157},"what-a-dictionary-comprehension-is","What a dictionary comprehension is",[14,160,161],{},"A dictionary comprehension is:",[163,164,165,169,172,175],"ul",{},[166,167,168],"li",{},"A short way to create a dictionary",[166,170,171],{},"A combination of a loop and dictionary creation in one expression",[166,173,174],{},"A way to produce a new dictionary",[166,176,177],{},"Useful when keys and values can be built from existing data",[14,179,180],{},"You can think of it like this:",[163,182,183,186,189,192],{},[166,184,185],{},"Python loops through some data",[166,187,188],{},"For each item, it creates a key",[166,190,191],{},"It also creates a value",[166,193,194],{},"It stores them in a new dictionary",[14,196,197],{},"This makes dictionary comprehensions helpful for tasks like:",[163,199,200,203,206],{},[166,201,202],{},"Building lookup tables",[166,204,205],{},"Changing the shape of data",[166,207,208],{},"Filtering items while creating a dictionary",[30,210,212],{"id":211},"basic-syntax","Basic syntax",[14,214,215],{},"The general form is:",[35,217,219],{"className":37,"code":218,"language":39,"meta":40,"style":40},"{key_expression: value_expression for item in iterable}\n",[42,220,221],{"__ignoreMap":40},[45,222,223,226,229,231,234,236,239,241,244],{"class":47,"line":48},[45,224,225],{"class":59},"{",[45,227,228],{"class":51},"key_expression",[45,230,100],{"class":59},[45,232,233],{"class":51}," value_expression ",[45,235,112],{"class":111},[45,237,238],{"class":51}," item ",[45,240,117],{"class":111},[45,242,243],{"class":51}," iterable",[45,245,123],{"class":59},[14,247,248],{},"Each part has a job:",[163,250,251,256,262],{},[166,252,253,255],{},[42,254,228],{}," creates the dictionary key",[166,257,258,261],{},[42,259,260],{},"value_expression"," creates the dictionary value",[166,263,264,267],{},[42,265,266],{},"for item in iterable"," loops through the data",[14,269,270],{},"You can also add a condition at the end:",[35,272,274],{"className":37,"code":273,"language":39,"meta":40,"style":40},"{key_expression: value_expression for item in iterable if condition}\n",[42,275,276],{"__ignoreMap":40},[45,277,278,280,282,284,286,288,290,292,295,298,301],{"class":47,"line":48},[45,279,225],{"class":59},[45,281,228],{"class":51},[45,283,100],{"class":59},[45,285,233],{"class":51},[45,287,112],{"class":111},[45,289,238],{"class":51},[45,291,117],{"class":111},[45,293,294],{"class":51}," iterable ",[45,296,297],{"class":111},"if",[45,299,300],{"class":51}," condition",[45,302,123],{"class":59},[14,304,305,306,308],{},"That ",[42,307,297],{}," filters items before they are added to the dictionary.",[310,311,313],"h3",{"id":312},"example-of-the-syntax","Example of the syntax",[35,315,317],{"className":37,"code":316,"language":39,"meta":40,"style":40},"numbers = [1, 2, 3]\n\nresult = {n: n + 10 for n in numbers}\nprint(result)\n",[42,318,319,339,345,377],{"__ignoreMap":40},[45,320,321,323,325,327,329,331,333,335,337],{"class":47,"line":48},[45,322,52],{"class":51},[45,324,56],{"class":55},[45,326,60],{"class":59},[45,328,64],{"class":63},[45,330,67],{"class":59},[45,332,70],{"class":63},[45,334,67],{"class":59},[45,336,75],{"class":63},[45,338,83],{"class":59},[45,340,341],{"class":47,"line":86},[45,342,344],{"emptyLinePlaceholder":343},true,"\n",[45,346,347,350,352,354,356,358,360,363,366,369,371,373,375],{"class":47,"line":126},[45,348,349],{"class":51},"result ",[45,351,56],{"class":55},[45,353,94],{"class":59},[45,355,97],{"class":51},[45,357,100],{"class":59},[45,359,103],{"class":51},[45,361,362],{"class":55},"+",[45,364,365],{"class":63}," 10",[45,367,368],{"class":111}," for",[45,370,103],{"class":51},[45,372,117],{"class":111},[45,374,120],{"class":51},[45,376,123],{"class":59},[45,378,379,381,383,386],{"class":47,"line":143},[45,380,130],{"class":129},[45,382,133],{"class":59},[45,384,385],{"class":136},"result",[45,387,140],{"class":59},[14,389,390],{},"Output:",[35,392,394],{"className":37,"code":393,"language":39,"meta":40,"style":40},"{1: 11, 2: 12, 3: 13}\n",[42,395,396],{"__ignoreMap":40},[45,397,398,400,402,404,407,409,411,413,416,418,420,422,425],{"class":47,"line":48},[45,399,225],{"class":59},[45,401,64],{"class":63},[45,403,100],{"class":59},[45,405,406],{"class":63}," 11",[45,408,67],{"class":59},[45,410,70],{"class":63},[45,412,100],{"class":59},[45,414,415],{"class":63}," 12",[45,417,67],{"class":59},[45,419,75],{"class":63},[45,421,100],{"class":59},[45,423,424],{"class":63}," 13",[45,426,123],{"class":59},[14,428,429],{},"Here:",[163,431,432,437,442],{},[166,433,434,436],{},[42,435,97],{}," is the current item from the list",[166,438,439,441],{},[42,440,97],{}," becomes the key",[166,443,444,447],{},[42,445,446],{},"n + 10"," becomes the value",[30,449,451],{"id":450},"simple-example-with-a-list","Simple example with a list",[14,453,454],{},"A common use is creating a dictionary from a list of values.",[35,456,458],{"className":37,"code":457,"language":39,"meta":40,"style":40},"numbers = [1, 2, 3, 4]\n\nsquares = {n: n * n for n in numbers}\n\nprint(squares)\n",[42,459,460,484,488,516,520],{"__ignoreMap":40},[45,461,462,464,466,468,470,472,474,476,478,480,482],{"class":47,"line":48},[45,463,52],{"class":51},[45,465,56],{"class":55},[45,467,60],{"class":59},[45,469,64],{"class":63},[45,471,67],{"class":59},[45,473,70],{"class":63},[45,475,67],{"class":59},[45,477,75],{"class":63},[45,479,67],{"class":59},[45,481,80],{"class":63},[45,483,83],{"class":59},[45,485,486],{"class":47,"line":86},[45,487,344],{"emptyLinePlaceholder":343},[45,489,490,492,494,496,498,500,502,504,506,508,510,512,514],{"class":47,"line":126},[45,491,89],{"class":51},[45,493,56],{"class":55},[45,495,94],{"class":59},[45,497,97],{"class":51},[45,499,100],{"class":59},[45,501,103],{"class":51},[45,503,106],{"class":55},[45,505,103],{"class":51},[45,507,112],{"class":111},[45,509,103],{"class":51},[45,511,117],{"class":111},[45,513,120],{"class":51},[45,515,123],{"class":59},[45,517,518],{"class":47,"line":143},[45,519,344],{"emptyLinePlaceholder":343},[45,521,523,525,527,529],{"class":47,"line":522},5,[45,524,130],{"class":129},[45,526,133],{"class":59},[45,528,137],{"class":136},[45,530,140],{"class":59},[14,532,390],{},[35,534,536],{"className":37,"code":535,"language":39,"meta":40,"style":40},"{1: 1, 2: 4, 3: 9, 4: 16}\n",[42,537,538],{"__ignoreMap":40},[45,539,540,542,544,546,549,551,553,555,557,559,561,563,566,568,570,572,575],{"class":47,"line":48},[45,541,225],{"class":59},[45,543,64],{"class":63},[45,545,100],{"class":59},[45,547,548],{"class":63}," 1",[45,550,67],{"class":59},[45,552,70],{"class":63},[45,554,100],{"class":59},[45,556,80],{"class":63},[45,558,67],{"class":59},[45,560,75],{"class":63},[45,562,100],{"class":59},[45,564,565],{"class":63}," 9",[45,567,67],{"class":59},[45,569,80],{"class":63},[45,571,100],{"class":59},[45,573,574],{"class":63}," 16",[45,576,123],{"class":59},[14,578,579],{},"What this does:",[163,581,582,588,591],{},[166,583,584,585],{},"Loops through each number in ",[42,586,587],{},"numbers",[166,589,590],{},"Uses the number itself as the key",[166,592,593],{},"Uses the square of the number as the value",[14,595,596],{},"You are not limited to numbers. You can also use strings.",[35,598,600],{"className":37,"code":599,"language":39,"meta":40,"style":40},"words = [\"cat\", \"dog\", \"elephant\"]\n\nlengths = {word: len(word) for word in words}\n\nprint(lengths)\n",[42,601,602,642,646,682,686],{"__ignoreMap":40},[45,603,604,607,609,611,615,619,621,623,626,629,631,633,635,638,640],{"class":47,"line":48},[45,605,606],{"class":51},"words ",[45,608,56],{"class":55},[45,610,60],{"class":59},[45,612,614],{"class":613},"sjJ54","\"",[45,616,618],{"class":617},"s_sjI","cat",[45,620,614],{"class":613},[45,622,67],{"class":59},[45,624,625],{"class":613}," \"",[45,627,628],{"class":617},"dog",[45,630,614],{"class":613},[45,632,67],{"class":59},[45,634,625],{"class":613},[45,636,637],{"class":617},"elephant",[45,639,614],{"class":613},[45,641,83],{"class":59},[45,643,644],{"class":47,"line":86},[45,645,344],{"emptyLinePlaceholder":343},[45,647,648,651,653,655,658,660,663,665,667,670,672,675,677,680],{"class":47,"line":126},[45,649,650],{"class":51},"lengths ",[45,652,56],{"class":55},[45,654,94],{"class":59},[45,656,657],{"class":51},"word",[45,659,100],{"class":59},[45,661,662],{"class":129}," len",[45,664,133],{"class":59},[45,666,657],{"class":136},[45,668,669],{"class":59},")",[45,671,368],{"class":111},[45,673,674],{"class":51}," word ",[45,676,117],{"class":111},[45,678,679],{"class":51}," words",[45,681,123],{"class":59},[45,683,684],{"class":47,"line":143},[45,685,344],{"emptyLinePlaceholder":343},[45,687,688,690,692,695],{"class":47,"line":522},[45,689,130],{"class":129},[45,691,133],{"class":59},[45,693,694],{"class":136},"lengths",[45,696,140],{"class":59},[14,698,390],{},[35,700,702],{"className":37,"code":701,"language":39,"meta":40,"style":40},"{'cat': 3, 'dog': 3, 'elephant': 8}\n",[42,703,704],{"__ignoreMap":40},[45,705,706,708,711,713,715,717,719,721,724,726,728,730,732,734,736,738,740,742,745],{"class":47,"line":48},[45,707,225],{"class":59},[45,709,710],{"class":613},"'",[45,712,618],{"class":617},[45,714,710],{"class":613},[45,716,100],{"class":59},[45,718,75],{"class":63},[45,720,67],{"class":59},[45,722,723],{"class":613}," '",[45,725,628],{"class":617},[45,727,710],{"class":613},[45,729,100],{"class":59},[45,731,75],{"class":63},[45,733,67],{"class":59},[45,735,723],{"class":613},[45,737,637],{"class":617},[45,739,710],{"class":613},[45,741,100],{"class":59},[45,743,744],{"class":63}," 8",[45,746,123],{"class":59},[14,748,749],{},"This creates a dictionary where:",[163,751,752,755],{},[166,753,754],{},"Each word is a key",[166,756,757],{},"Each value is the length of that word",[14,759,760,761,154],{},"If you want to compare this idea with another comprehension type, see ",[24,762,764],{"href":763},"\u002Flearn\u002Flist-comprehensions-in-python-explained","list comprehensions in Python explained",[30,766,768],{"id":767},"using-conditions-in-a-dictionary-comprehension","Using conditions in a dictionary comprehension",[14,770,771,772,774],{},"You can add ",[42,773,297],{}," to keep only some items.",[14,776,777],{},"For example, this keeps only even numbers:",[35,779,781],{"className":37,"code":780,"language":39,"meta":40,"style":40},"numbers = [1, 2, 3, 4, 5, 6]\n\neven_squares = {n: n * n for n in numbers if n % 2 == 0}\n\nprint(even_squares)\n",[42,782,783,817,821,866,870],{"__ignoreMap":40},[45,784,785,787,789,791,793,795,797,799,801,803,805,807,810,812,815],{"class":47,"line":48},[45,786,52],{"class":51},[45,788,56],{"class":55},[45,790,60],{"class":59},[45,792,64],{"class":63},[45,794,67],{"class":59},[45,796,70],{"class":63},[45,798,67],{"class":59},[45,800,75],{"class":63},[45,802,67],{"class":59},[45,804,80],{"class":63},[45,806,67],{"class":59},[45,808,809],{"class":63}," 5",[45,811,67],{"class":59},[45,813,814],{"class":63}," 6",[45,816,83],{"class":59},[45,818,819],{"class":47,"line":86},[45,820,344],{"emptyLinePlaceholder":343},[45,822,823,826,828,830,832,834,836,838,840,842,844,846,849,851,853,856,858,861,864],{"class":47,"line":126},[45,824,825],{"class":51},"even_squares ",[45,827,56],{"class":55},[45,829,94],{"class":59},[45,831,97],{"class":51},[45,833,100],{"class":59},[45,835,103],{"class":51},[45,837,106],{"class":55},[45,839,103],{"class":51},[45,841,112],{"class":111},[45,843,103],{"class":51},[45,845,117],{"class":111},[45,847,848],{"class":51}," numbers ",[45,850,297],{"class":111},[45,852,103],{"class":51},[45,854,855],{"class":55},"%",[45,857,70],{"class":63},[45,859,860],{"class":55}," ==",[45,862,863],{"class":63}," 0",[45,865,123],{"class":59},[45,867,868],{"class":47,"line":143},[45,869,344],{"emptyLinePlaceholder":343},[45,871,872,874,876,879],{"class":47,"line":522},[45,873,130],{"class":129},[45,875,133],{"class":59},[45,877,878],{"class":136},"even_squares",[45,880,140],{"class":59},[14,882,390],{},[35,884,886],{"className":37,"code":885,"language":39,"meta":40,"style":40},"{2: 4, 4: 16, 6: 36}\n",[42,887,888],{"__ignoreMap":40},[45,889,890,892,895,897,899,901,903,905,907,909,911,913,916],{"class":47,"line":48},[45,891,225],{"class":59},[45,893,894],{"class":63},"2",[45,896,100],{"class":59},[45,898,80],{"class":63},[45,900,67],{"class":59},[45,902,80],{"class":63},[45,904,100],{"class":59},[45,906,574],{"class":63},[45,908,67],{"class":59},[45,910,814],{"class":63},[45,912,100],{"class":59},[45,914,915],{"class":63}," 36",[45,917,123],{"class":59},[14,919,920],{},"How it works:",[163,922,923,926,932],{},[166,924,925],{},"Python loops through all numbers",[166,927,928,929],{},"It checks ",[42,930,931],{},"n % 2 == 0",[166,933,934],{},"Only even numbers are added to the dictionary",[14,936,937],{},"This is useful because filtering happens during dictionary creation. You do not need extra lines to build the dictionary step by step.",[14,939,940,941,944,945,949],{},"You can also filter an existing dictionary. To do that, you will often use ",[42,942,943],{},".items()",". See ",[24,946,948],{"href":947},"\u002Freference\u002Fpython-dictionary-items-method","Python dictionary items() method"," if that method is new to you.",[14,951,952],{},"Example:",[35,954,956],{"className":37,"code":955,"language":39,"meta":40,"style":40},"prices = {\"apple\": 2, \"banana\": 1, \"cherry\": 3}\n\nexpensive = {key: value for key, value in prices.items() if value >= 2}\n\nprint(expensive)\n",[42,957,958,1006,1010,1061,1065],{"__ignoreMap":40},[45,959,960,963,965,967,969,972,974,976,978,980,982,985,987,989,991,993,995,998,1000,1002,1004],{"class":47,"line":48},[45,961,962],{"class":51},"prices ",[45,964,56],{"class":55},[45,966,94],{"class":59},[45,968,614],{"class":613},[45,970,971],{"class":617},"apple",[45,973,614],{"class":613},[45,975,100],{"class":59},[45,977,70],{"class":63},[45,979,67],{"class":59},[45,981,625],{"class":613},[45,983,984],{"class":617},"banana",[45,986,614],{"class":613},[45,988,100],{"class":59},[45,990,548],{"class":63},[45,992,67],{"class":59},[45,994,625],{"class":613},[45,996,997],{"class":617},"cherry",[45,999,614],{"class":613},[45,1001,100],{"class":59},[45,1003,75],{"class":63},[45,1005,123],{"class":59},[45,1007,1008],{"class":47,"line":86},[45,1009,344],{"emptyLinePlaceholder":343},[45,1011,1012,1015,1017,1019,1022,1024,1027,1029,1032,1034,1036,1038,1041,1043,1046,1049,1052,1054,1057,1059],{"class":47,"line":126},[45,1013,1014],{"class":51},"expensive ",[45,1016,56],{"class":55},[45,1018,94],{"class":59},[45,1020,1021],{"class":51},"key",[45,1023,100],{"class":59},[45,1025,1026],{"class":51}," value ",[45,1028,112],{"class":111},[45,1030,1031],{"class":51}," key",[45,1033,67],{"class":59},[45,1035,1026],{"class":51},[45,1037,117],{"class":111},[45,1039,1040],{"class":51}," prices",[45,1042,154],{"class":59},[45,1044,1045],{"class":136},"items",[45,1047,1048],{"class":59},"()",[45,1050,1051],{"class":111}," if",[45,1053,1026],{"class":51},[45,1055,1056],{"class":55},">=",[45,1058,70],{"class":63},[45,1060,123],{"class":59},[45,1062,1063],{"class":47,"line":143},[45,1064,344],{"emptyLinePlaceholder":343},[45,1066,1067,1069,1071,1074],{"class":47,"line":522},[45,1068,130],{"class":129},[45,1070,133],{"class":59},[45,1072,1073],{"class":136},"expensive",[45,1075,140],{"class":59},[14,1077,390],{},[35,1079,1081],{"className":37,"code":1080,"language":39,"meta":40,"style":40},"{'apple': 2, 'cherry': 3}\n",[42,1082,1083],{"__ignoreMap":40},[45,1084,1085,1087,1089,1091,1093,1095,1097,1099,1101,1103,1105,1107,1109],{"class":47,"line":48},[45,1086,225],{"class":59},[45,1088,710],{"class":613},[45,1090,971],{"class":617},[45,1092,710],{"class":613},[45,1094,100],{"class":59},[45,1096,70],{"class":63},[45,1098,67],{"class":59},[45,1100,723],{"class":613},[45,1102,997],{"class":617},[45,1104,710],{"class":613},[45,1106,100],{"class":59},[45,1108,75],{"class":63},[45,1110,123],{"class":59},[30,1112,1114],{"id":1113},"dictionary-comprehension-vs-normal-loop","Dictionary comprehension vs normal loop",[14,1116,1117],{},"Dictionary comprehensions are useful, but they are not always the best choice.",[14,1119,1120],{},"Use a dictionary comprehension when:",[163,1122,1123,1126,1129],{},[166,1124,1125],{},"The transformation is short",[166,1127,1128],{},"The logic is simple",[166,1130,1131],{},"The result is easy to read in one line",[14,1133,1134],{},"Use a normal loop when:",[163,1136,1137,1140,1143],{},[166,1138,1139],{},"The logic is more complex",[166,1141,1142],{},"You need multiple steps",[166,1144,1145],{},"The one-line version is hard to understand",[310,1147,1149],{"id":1148},"same-result-with-a-normal-loop","Same result with a normal loop",[35,1151,1153],{"className":37,"code":1152,"language":39,"meta":40,"style":40},"numbers = [1, 2, 3, 4]\nsquares = {}\n\nfor n in numbers:\n    squares[n] = n * n\n\nprint(squares)\n",[42,1154,1155,1179,1188,1192,1205,1228,1233],{"__ignoreMap":40},[45,1156,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177],{"class":47,"line":48},[45,1158,52],{"class":51},[45,1160,56],{"class":55},[45,1162,60],{"class":59},[45,1164,64],{"class":63},[45,1166,67],{"class":59},[45,1168,70],{"class":63},[45,1170,67],{"class":59},[45,1172,75],{"class":63},[45,1174,67],{"class":59},[45,1176,80],{"class":63},[45,1178,83],{"class":59},[45,1180,1181,1183,1185],{"class":47,"line":86},[45,1182,89],{"class":51},[45,1184,56],{"class":55},[45,1186,1187],{"class":59}," {}\n",[45,1189,1190],{"class":47,"line":126},[45,1191,344],{"emptyLinePlaceholder":343},[45,1193,1194,1196,1198,1200,1202],{"class":47,"line":143},[45,1195,112],{"class":111},[45,1197,103],{"class":51},[45,1199,117],{"class":111},[45,1201,120],{"class":51},[45,1203,1204],{"class":59},":\n",[45,1206,1207,1210,1213,1215,1218,1221,1223,1225],{"class":47,"line":522},[45,1208,1209],{"class":51},"    squares",[45,1211,1212],{"class":59},"[",[45,1214,97],{"class":51},[45,1216,1217],{"class":59},"]",[45,1219,1220],{"class":55}," =",[45,1222,103],{"class":51},[45,1224,106],{"class":55},[45,1226,1227],{"class":51}," n\n",[45,1229,1231],{"class":47,"line":1230},6,[45,1232,344],{"emptyLinePlaceholder":343},[45,1234,1236,1238,1240,1242],{"class":47,"line":1235},7,[45,1237,130],{"class":129},[45,1239,133],{"class":59},[45,1241,137],{"class":136},[45,1243,140],{"class":59},[14,1245,390],{},[35,1247,1248],{"className":37,"code":535,"language":39,"meta":40,"style":40},[42,1249,1250],{"__ignoreMap":40},[45,1251,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284],{"class":47,"line":48},[45,1253,225],{"class":59},[45,1255,64],{"class":63},[45,1257,100],{"class":59},[45,1259,548],{"class":63},[45,1261,67],{"class":59},[45,1263,70],{"class":63},[45,1265,100],{"class":59},[45,1267,80],{"class":63},[45,1269,67],{"class":59},[45,1271,75],{"class":63},[45,1273,100],{"class":59},[45,1275,565],{"class":63},[45,1277,67],{"class":59},[45,1279,80],{"class":63},[45,1281,100],{"class":59},[45,1283,574],{"class":63},[45,1285,123],{"class":59},[310,1287,1289],{"id":1288},"same-result-with-a-dictionary-comprehension","Same result with a dictionary comprehension",[35,1291,1293],{"className":37,"code":1292,"language":39,"meta":40,"style":40},"numbers = [1, 2, 3, 4]\nsquares = {n: n * n for n in numbers}\n\nprint(squares)\n",[42,1294,1295,1319,1347,1351],{"__ignoreMap":40},[45,1296,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317],{"class":47,"line":48},[45,1298,52],{"class":51},[45,1300,56],{"class":55},[45,1302,60],{"class":59},[45,1304,64],{"class":63},[45,1306,67],{"class":59},[45,1308,70],{"class":63},[45,1310,67],{"class":59},[45,1312,75],{"class":63},[45,1314,67],{"class":59},[45,1316,80],{"class":63},[45,1318,83],{"class":59},[45,1320,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345],{"class":47,"line":86},[45,1322,89],{"class":51},[45,1324,56],{"class":55},[45,1326,94],{"class":59},[45,1328,97],{"class":51},[45,1330,100],{"class":59},[45,1332,103],{"class":51},[45,1334,106],{"class":55},[45,1336,103],{"class":51},[45,1338,112],{"class":111},[45,1340,103],{"class":51},[45,1342,117],{"class":111},[45,1344,120],{"class":51},[45,1346,123],{"class":59},[45,1348,1349],{"class":47,"line":126},[45,1350,344],{"emptyLinePlaceholder":343},[45,1352,1353,1355,1357,1359],{"class":47,"line":143},[45,1354,130],{"class":129},[45,1356,133],{"class":59},[45,1358,137],{"class":136},[45,1360,140],{"class":59},[14,1362,1363],{},"Both versions are correct.",[14,1365,1366],{},"The comprehension is shorter. The loop may feel clearer when you are still learning.",[14,1368,1369],{},"A good rule for beginners is:",[163,1371,1372,1375],{},[166,1373,1374],{},"Prefer the clearest version",[166,1376,1377],{},"Use a comprehension when it still feels easy to read",[30,1379,1381],{"id":1380},"common-beginner-mistakes","Common beginner mistakes",[14,1383,1384],{},"Here are some common problems beginners run into.",[310,1386,1388],{"id":1387},"forgetting-the-colon-between-key-and-value","Forgetting the colon between key and value",[14,1390,1391],{},"This is wrong:",[35,1393,1395],{"className":37,"code":1394,"language":39,"meta":40,"style":40},"numbers = [1, 2, 3]\n# result = {n n * n for n in numbers}\n",[42,1396,1397,1417],{"__ignoreMap":40},[45,1398,1399,1401,1403,1405,1407,1409,1411,1413,1415],{"class":47,"line":48},[45,1400,52],{"class":51},[45,1402,56],{"class":55},[45,1404,60],{"class":59},[45,1406,64],{"class":63},[45,1408,67],{"class":59},[45,1410,70],{"class":63},[45,1412,67],{"class":59},[45,1414,75],{"class":63},[45,1416,83],{"class":59},[45,1418,1419],{"class":47,"line":86},[45,1420,1421],{"class":146},"# result = {n n * n for n in numbers}\n",[14,1423,1424],{},"This is correct:",[35,1426,1428],{"className":37,"code":1427,"language":39,"meta":40,"style":40},"numbers = [1, 2, 3]\nresult = {n: n * n for n in numbers}\nprint(result)\n",[42,1429,1430,1450,1478],{"__ignoreMap":40},[45,1431,1432,1434,1436,1438,1440,1442,1444,1446,1448],{"class":47,"line":48},[45,1433,52],{"class":51},[45,1435,56],{"class":55},[45,1437,60],{"class":59},[45,1439,64],{"class":63},[45,1441,67],{"class":59},[45,1443,70],{"class":63},[45,1445,67],{"class":59},[45,1447,75],{"class":63},[45,1449,83],{"class":59},[45,1451,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476],{"class":47,"line":86},[45,1453,349],{"class":51},[45,1455,56],{"class":55},[45,1457,94],{"class":59},[45,1459,97],{"class":51},[45,1461,100],{"class":59},[45,1463,103],{"class":51},[45,1465,106],{"class":55},[45,1467,103],{"class":51},[45,1469,112],{"class":111},[45,1471,103],{"class":51},[45,1473,117],{"class":111},[45,1475,120],{"class":51},[45,1477,123],{"class":59},[45,1479,1480,1482,1484,1486],{"class":47,"line":126},[45,1481,130],{"class":129},[45,1483,133],{"class":59},[45,1485,385],{"class":136},[45,1487,140],{"class":59},[14,1489,1490,1491,1493,1494,1497],{},"The colon ",[42,1492,100],{}," is required because dictionaries store ",[42,1495,1496],{},"key: value"," pairs.",[310,1499,1501],{"id":1500},"using-square-brackets-instead-of-curly-braces","Using square brackets instead of curly braces",[14,1503,1504],{},"Square brackets create a list comprehension, not a dictionary comprehension.",[14,1506,1507],{},"Wrong shape:",[35,1509,1511],{"className":37,"code":1510,"language":39,"meta":40,"style":40},"numbers = [1, 2, 3]\nresult = [n * n for n in numbers]\nprint(result)\n",[42,1512,1513,1533,1558],{"__ignoreMap":40},[45,1514,1515,1517,1519,1521,1523,1525,1527,1529,1531],{"class":47,"line":48},[45,1516,52],{"class":51},[45,1518,56],{"class":55},[45,1520,60],{"class":59},[45,1522,64],{"class":63},[45,1524,67],{"class":59},[45,1526,70],{"class":63},[45,1528,67],{"class":59},[45,1530,75],{"class":63},[45,1532,83],{"class":59},[45,1534,1535,1537,1539,1541,1544,1546,1548,1550,1552,1554,1556],{"class":47,"line":86},[45,1536,349],{"class":51},[45,1538,56],{"class":55},[45,1540,60],{"class":59},[45,1542,1543],{"class":51},"n ",[45,1545,106],{"class":55},[45,1547,103],{"class":51},[45,1549,112],{"class":111},[45,1551,103],{"class":51},[45,1553,117],{"class":111},[45,1555,120],{"class":51},[45,1557,83],{"class":59},[45,1559,1560,1562,1564,1566],{"class":47,"line":126},[45,1561,130],{"class":129},[45,1563,133],{"class":59},[45,1565,385],{"class":136},[45,1567,140],{"class":59},[14,1569,390],{},[35,1571,1573],{"className":37,"code":1572,"language":39,"meta":40,"style":40},"[1, 4, 9]\n",[42,1574,1575],{"__ignoreMap":40},[45,1576,1577,1579,1581,1583,1585,1587,1589],{"class":47,"line":48},[45,1578,1212],{"class":59},[45,1580,64],{"class":63},[45,1582,67],{"class":59},[45,1584,80],{"class":63},[45,1586,67],{"class":59},[45,1588,565],{"class":63},[45,1590,83],{"class":59},[14,1592,1593],{},"That is a list, not a dictionary.",[14,1595,1596],{},"Dictionary comprehensions must use curly braces:",[35,1598,1599],{"className":37,"code":1427,"language":39,"meta":40,"style":40},[42,1600,1601,1621,1649],{"__ignoreMap":40},[45,1602,1603,1605,1607,1609,1611,1613,1615,1617,1619],{"class":47,"line":48},[45,1604,52],{"class":51},[45,1606,56],{"class":55},[45,1608,60],{"class":59},[45,1610,64],{"class":63},[45,1612,67],{"class":59},[45,1614,70],{"class":63},[45,1616,67],{"class":59},[45,1618,75],{"class":63},[45,1620,83],{"class":59},[45,1622,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641,1643,1645,1647],{"class":47,"line":86},[45,1624,349],{"class":51},[45,1626,56],{"class":55},[45,1628,94],{"class":59},[45,1630,97],{"class":51},[45,1632,100],{"class":59},[45,1634,103],{"class":51},[45,1636,106],{"class":55},[45,1638,103],{"class":51},[45,1640,112],{"class":111},[45,1642,103],{"class":51},[45,1644,117],{"class":111},[45,1646,120],{"class":51},[45,1648,123],{"class":59},[45,1650,1651,1653,1655,1657],{"class":47,"line":126},[45,1652,130],{"class":129},[45,1654,133],{"class":59},[45,1656,385],{"class":136},[45,1658,140],{"class":59},[310,1660,1662],{"id":1661},"trying-to-do-too-much-in-one-comprehension","Trying to do too much in one comprehension",[14,1664,1665],{},"Short code is not always better.",[14,1667,1668],{},"If your comprehension becomes hard to read, rewrite it as a normal loop. This is especially important for beginners.",[310,1670,1672],{"id":1671},"creating-duplicate-keys-without-noticing","Creating duplicate keys without noticing",[14,1674,1675],{},"Dictionary keys must be unique.",[14,1677,1678],{},"If two items create the same key, the later value replaces the earlier one.",[35,1680,1682],{"className":37,"code":1681,"language":39,"meta":40,"style":40},"words = [\"cat\", \"dog\", \"cat\"]\n\nresult = {word: len(word) for word in words}\nprint(result)\n",[42,1683,1684,1716,1720,1750],{"__ignoreMap":40},[45,1685,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714],{"class":47,"line":48},[45,1687,606],{"class":51},[45,1689,56],{"class":55},[45,1691,60],{"class":59},[45,1693,614],{"class":613},[45,1695,618],{"class":617},[45,1697,614],{"class":613},[45,1699,67],{"class":59},[45,1701,625],{"class":613},[45,1703,628],{"class":617},[45,1705,614],{"class":613},[45,1707,67],{"class":59},[45,1709,625],{"class":613},[45,1711,618],{"class":617},[45,1713,614],{"class":613},[45,1715,83],{"class":59},[45,1717,1718],{"class":47,"line":86},[45,1719,344],{"emptyLinePlaceholder":343},[45,1721,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744,1746,1748],{"class":47,"line":126},[45,1723,349],{"class":51},[45,1725,56],{"class":55},[45,1727,94],{"class":59},[45,1729,657],{"class":51},[45,1731,100],{"class":59},[45,1733,662],{"class":129},[45,1735,133],{"class":59},[45,1737,657],{"class":136},[45,1739,669],{"class":59},[45,1741,368],{"class":111},[45,1743,674],{"class":51},[45,1745,117],{"class":111},[45,1747,679],{"class":51},[45,1749,123],{"class":59},[45,1751,1752,1754,1756,1758],{"class":47,"line":143},[45,1753,130],{"class":129},[45,1755,133],{"class":59},[45,1757,385],{"class":136},[45,1759,140],{"class":59},[14,1761,390],{},[35,1763,1765],{"className":37,"code":1764,"language":39,"meta":40,"style":40},"{'cat': 3, 'dog': 3}\n",[42,1766,1767],{"__ignoreMap":40},[45,1768,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793],{"class":47,"line":48},[45,1770,225],{"class":59},[45,1772,710],{"class":613},[45,1774,618],{"class":617},[45,1776,710],{"class":613},[45,1778,100],{"class":59},[45,1780,75],{"class":63},[45,1782,67],{"class":59},[45,1784,723],{"class":613},[45,1786,628],{"class":617},[45,1788,710],{"class":613},[45,1790,100],{"class":59},[45,1792,75],{"class":63},[45,1794,123],{"class":59},[14,1796,1797,1798,1801],{},"There is only one ",[42,1799,1800],{},"\"cat\""," key in the final dictionary.",[30,1803,1805],{"id":1804},"when-to-use-dictionary-comprehensions","When to use dictionary comprehensions",[14,1807,1808],{},"Dictionary comprehensions are a good choice when you want to:",[163,1810,1811,1814,1817,1820],{},[166,1812,1813],{},"Build lookup tables from lists",[166,1815,1816],{},"Convert one dictionary into another shape",[166,1818,1819],{},"Filter dictionary items",[166,1821,1822],{},"Create dictionaries from strings, ranges, or zipped data",[310,1824,1826],{"id":1825},"from-a-string","From a string",[35,1828,1830],{"className":37,"code":1829,"language":39,"meta":40,"style":40},"text = \"abc\"\nresult = {char: char.upper() for char in text}\nprint(result)\n",[42,1831,1832,1847,1882],{"__ignoreMap":40},[45,1833,1834,1837,1839,1841,1844],{"class":47,"line":48},[45,1835,1836],{"class":51},"text ",[45,1838,56],{"class":55},[45,1840,625],{"class":613},[45,1842,1843],{"class":617},"abc",[45,1845,1846],{"class":613},"\"\n",[45,1848,1849,1851,1853,1855,1858,1860,1863,1865,1868,1870,1872,1875,1877,1880],{"class":47,"line":86},[45,1850,349],{"class":51},[45,1852,56],{"class":55},[45,1854,94],{"class":59},[45,1856,1857],{"class":51},"char",[45,1859,100],{"class":59},[45,1861,1862],{"class":51}," char",[45,1864,154],{"class":59},[45,1866,1867],{"class":136},"upper",[45,1869,1048],{"class":59},[45,1871,368],{"class":111},[45,1873,1874],{"class":51}," char ",[45,1876,117],{"class":111},[45,1878,1879],{"class":51}," text",[45,1881,123],{"class":59},[45,1883,1884,1886,1888,1890],{"class":47,"line":126},[45,1885,130],{"class":129},[45,1887,133],{"class":59},[45,1889,385],{"class":136},[45,1891,140],{"class":59},[14,1893,390],{},[35,1895,1897],{"className":37,"code":1896,"language":39,"meta":40,"style":40},"{'a': 'A', 'b': 'B', 'c': 'C'}\n",[42,1898,1899],{"__ignoreMap":40},[45,1900,1901,1903,1905,1907,1909,1911,1913,1916,1918,1920,1922,1925,1927,1929,1931,1934,1936,1938,1940,1943,1945,1947,1949,1952,1954],{"class":47,"line":48},[45,1902,225],{"class":59},[45,1904,710],{"class":613},[45,1906,24],{"class":617},[45,1908,710],{"class":613},[45,1910,100],{"class":59},[45,1912,723],{"class":613},[45,1914,1915],{"class":617},"A",[45,1917,710],{"class":613},[45,1919,67],{"class":59},[45,1921,723],{"class":613},[45,1923,1924],{"class":617},"b",[45,1926,710],{"class":613},[45,1928,100],{"class":59},[45,1930,723],{"class":613},[45,1932,1933],{"class":617},"B",[45,1935,710],{"class":613},[45,1937,67],{"class":59},[45,1939,723],{"class":613},[45,1941,1942],{"class":617},"c",[45,1944,710],{"class":613},[45,1946,100],{"class":59},[45,1948,723],{"class":613},[45,1950,1951],{"class":617},"C",[45,1953,710],{"class":613},[45,1955,123],{"class":59},[310,1957,1959],{"id":1958},"from-a-range","From a range",[35,1961,1963],{"className":37,"code":1962,"language":39,"meta":40,"style":40},"result = {n: n * 10 for n in range(5)}\nprint(result)\n",[42,1964,1965,2000],{"__ignoreMap":40},[45,1966,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1992,1994,1997],{"class":47,"line":48},[45,1968,349],{"class":51},[45,1970,56],{"class":55},[45,1972,94],{"class":59},[45,1974,97],{"class":51},[45,1976,100],{"class":59},[45,1978,103],{"class":51},[45,1980,106],{"class":55},[45,1982,365],{"class":63},[45,1984,368],{"class":111},[45,1986,103],{"class":51},[45,1988,117],{"class":111},[45,1990,1991],{"class":129}," range",[45,1993,133],{"class":59},[45,1995,1996],{"class":63},"5",[45,1998,1999],{"class":59},")}\n",[45,2001,2002,2004,2006,2008],{"class":47,"line":86},[45,2003,130],{"class":129},[45,2005,133],{"class":59},[45,2007,385],{"class":136},[45,2009,140],{"class":59},[14,2011,390],{},[35,2013,2015],{"className":37,"code":2014,"language":39,"meta":40,"style":40},"{0: 0, 1: 10, 2: 20, 3: 30, 4: 40}\n",[42,2016,2017],{"__ignoreMap":40},[45,2018,2019,2021,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042,2045,2047,2049,2051,2054,2056,2058,2060,2063],{"class":47,"line":48},[45,2020,225],{"class":59},[45,2022,2023],{"class":63},"0",[45,2025,100],{"class":59},[45,2027,863],{"class":63},[45,2029,67],{"class":59},[45,2031,548],{"class":63},[45,2033,100],{"class":59},[45,2035,365],{"class":63},[45,2037,67],{"class":59},[45,2039,70],{"class":63},[45,2041,100],{"class":59},[45,2043,2044],{"class":63}," 20",[45,2046,67],{"class":59},[45,2048,75],{"class":63},[45,2050,100],{"class":59},[45,2052,2053],{"class":63}," 30",[45,2055,67],{"class":59},[45,2057,80],{"class":63},[45,2059,100],{"class":59},[45,2061,2062],{"class":63}," 40",[45,2064,123],{"class":59},[310,2066,2068],{"id":2067},"from-zipped-data","From zipped data",[35,2070,2072],{"className":37,"code":2071,"language":39,"meta":40,"style":40},"keys = [\"name\", \"age\", \"city\"]\nvalues = [\"Ana\", 25, \"Paris\"]\n\nresult = {k: v for k, v in zip(keys, values)}\nprint(result)\n",[42,2073,2074,2110,2142,2146,2188],{"__ignoreMap":40},[45,2075,2076,2079,2081,2083,2085,2088,2090,2092,2094,2097,2099,2101,2103,2106,2108],{"class":47,"line":48},[45,2077,2078],{"class":51},"keys ",[45,2080,56],{"class":55},[45,2082,60],{"class":59},[45,2084,614],{"class":613},[45,2086,2087],{"class":617},"name",[45,2089,614],{"class":613},[45,2091,67],{"class":59},[45,2093,625],{"class":613},[45,2095,2096],{"class":617},"age",[45,2098,614],{"class":613},[45,2100,67],{"class":59},[45,2102,625],{"class":613},[45,2104,2105],{"class":617},"city",[45,2107,614],{"class":613},[45,2109,83],{"class":59},[45,2111,2112,2115,2117,2119,2121,2124,2126,2128,2131,2133,2135,2138,2140],{"class":47,"line":86},[45,2113,2114],{"class":51},"values ",[45,2116,56],{"class":55},[45,2118,60],{"class":59},[45,2120,614],{"class":613},[45,2122,2123],{"class":617},"Ana",[45,2125,614],{"class":613},[45,2127,67],{"class":59},[45,2129,2130],{"class":63}," 25",[45,2132,67],{"class":59},[45,2134,625],{"class":613},[45,2136,2137],{"class":617},"Paris",[45,2139,614],{"class":613},[45,2141,83],{"class":59},[45,2143,2144],{"class":47,"line":126},[45,2145,344],{"emptyLinePlaceholder":343},[45,2147,2148,2150,2152,2154,2157,2159,2162,2164,2167,2169,2171,2173,2176,2178,2181,2183,2186],{"class":47,"line":143},[45,2149,349],{"class":51},[45,2151,56],{"class":55},[45,2153,94],{"class":59},[45,2155,2156],{"class":51},"k",[45,2158,100],{"class":59},[45,2160,2161],{"class":51}," v ",[45,2163,112],{"class":111},[45,2165,2166],{"class":51}," k",[45,2168,67],{"class":59},[45,2170,2161],{"class":51},[45,2172,117],{"class":111},[45,2174,2175],{"class":129}," zip",[45,2177,133],{"class":59},[45,2179,2180],{"class":136},"keys",[45,2182,67],{"class":59},[45,2184,2185],{"class":136}," values",[45,2187,1999],{"class":59},[45,2189,2190,2192,2194,2196],{"class":47,"line":522},[45,2191,130],{"class":129},[45,2193,133],{"class":59},[45,2195,385],{"class":136},[45,2197,140],{"class":59},[14,2199,390],{},[35,2201,2203],{"className":37,"code":2202,"language":39,"meta":40,"style":40},"{'name': 'Ana', 'age': 25, 'city': 'Paris'}\n",[42,2204,2205],{"__ignoreMap":40},[45,2206,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251],{"class":47,"line":48},[45,2208,225],{"class":59},[45,2210,710],{"class":613},[45,2212,2087],{"class":617},[45,2214,710],{"class":613},[45,2216,100],{"class":59},[45,2218,723],{"class":613},[45,2220,2123],{"class":617},[45,2222,710],{"class":613},[45,2224,67],{"class":59},[45,2226,723],{"class":613},[45,2228,2096],{"class":617},[45,2230,710],{"class":613},[45,2232,100],{"class":59},[45,2234,2130],{"class":63},[45,2236,67],{"class":59},[45,2238,723],{"class":613},[45,2240,2105],{"class":617},[45,2242,710],{"class":613},[45,2244,100],{"class":59},[45,2246,723],{"class":613},[45,2248,2137],{"class":617},[45,2250,710],{"class":613},[45,2252,123],{"class":59},[30,2254,2256],{"id":2255},"common-causes-of-confusion","Common causes of confusion",[14,2258,2259],{},"Beginners often struggle with dictionary comprehensions because of these issues:",[163,2261,2262,2265,2271,2274],{},[166,2263,2264],{},"Confusing list comprehensions with dictionary comprehensions",[166,2266,2267,2268,2270],{},"Not understanding that dictionaries need ",[42,2269,1496],{}," pairs",[166,2272,2273],{},"Using complex logic that is better written as a normal loop",[166,2275,2276],{},"Accidentally overwriting values because keys repeat",[14,2278,2279],{},"If something looks wrong, these quick checks can help:",[35,2281,2283],{"className":37,"code":2282,"language":39,"meta":40,"style":40},"print(result)\nprint(type(result))\nprint(result.keys())\nprint(result.values())\n\nfor k, v in result.items():\n    print(k, v)\n",[42,2284,2285,2295,2312,2327,2342,2346,2368],{"__ignoreMap":40},[45,2286,2287,2289,2291,2293],{"class":47,"line":48},[45,2288,130],{"class":129},[45,2290,133],{"class":59},[45,2292,385],{"class":136},[45,2294,140],{"class":59},[45,2296,2297,2299,2301,2305,2307,2309],{"class":47,"line":86},[45,2298,130],{"class":129},[45,2300,133],{"class":59},[45,2302,2304],{"class":2303},"sZMiF","type",[45,2306,133],{"class":59},[45,2308,385],{"class":136},[45,2310,2311],{"class":59},"))\n",[45,2313,2314,2316,2318,2320,2322,2324],{"class":47,"line":126},[45,2315,130],{"class":129},[45,2317,133],{"class":59},[45,2319,385],{"class":136},[45,2321,154],{"class":59},[45,2323,2180],{"class":136},[45,2325,2326],{"class":59},"())\n",[45,2328,2329,2331,2333,2335,2337,2340],{"class":47,"line":143},[45,2330,130],{"class":129},[45,2332,133],{"class":59},[45,2334,385],{"class":136},[45,2336,154],{"class":59},[45,2338,2339],{"class":136},"values",[45,2341,2326],{"class":59},[45,2343,2344],{"class":47,"line":522},[45,2345,344],{"emptyLinePlaceholder":343},[45,2347,2348,2350,2352,2354,2356,2358,2361,2363,2365],{"class":47,"line":1230},[45,2349,112],{"class":111},[45,2351,2166],{"class":51},[45,2353,67],{"class":59},[45,2355,2161],{"class":51},[45,2357,117],{"class":111},[45,2359,2360],{"class":51}," result",[45,2362,154],{"class":59},[45,2364,1045],{"class":136},[45,2366,2367],{"class":59},"():\n",[45,2369,2370,2373,2375,2377,2379,2382],{"class":47,"line":1235},[45,2371,2372],{"class":129},"    print",[45,2374,133],{"class":59},[45,2376,2156],{"class":136},[45,2378,67],{"class":59},[45,2380,2381],{"class":136}," v",[45,2383,140],{"class":59},[14,2385,2386],{},"These checks help you confirm:",[163,2388,2389,2392,2395,2398],{},[166,2390,2391],{},"Whether the result is really a dictionary",[166,2393,2394],{},"Which keys were created",[166,2396,2397],{},"Which values were created",[166,2399,2400],{},"Whether the keys and values match what you expected",[14,2402,2403,2404,2408,2409,154],{},"If you need more practice working with dictionary contents, read ",[24,2405,2407],{"href":2406},"\u002Fhow-to\u002Fhow-to-loop-through-a-dictionary-in-python","how to loop through a dictionary in Python"," and ",[24,2410,2412],{"href":2411},"\u002Fhow-to\u002Fhow-to-check-if-a-key-exists-in-a-dictionary-in-python","how to check if a key exists in a dictionary in Python",[30,2414,2416],{"id":2415},"faq","FAQ",[310,2418,2420],{"id":2419},"what-is-the-difference-between-a-list-comprehension-and-a-dictionary-comprehension","What is the difference between a list comprehension and a dictionary comprehension?",[14,2422,2423,2424,1497],{},"A list comprehension creates a list. A dictionary comprehension creates a dictionary with ",[42,2425,1496],{},[310,2427,2429],{"id":2428},"can-i-use-if-in-a-dictionary-comprehension","Can I use if in a dictionary comprehension?",[14,2431,2432,2433,2435],{},"Yes. You can add an ",[42,2434,297],{}," condition at the end to filter which items are included.",[310,2437,2439],{"id":2438},"what-happens-if-two-items-create-the-same-key","What happens if two items create the same key?",[14,2441,2442],{},"The later value replaces the earlier one because dictionary keys must be unique.",[310,2444,2446],{"id":2445},"should-beginners-use-dictionary-comprehensions","Should beginners use dictionary comprehensions?",[14,2448,2449],{},"Yes, for simple cases. If the code becomes hard to read, use a normal loop instead.",[30,2451,2453],{"id":2452},"see-also","See also",[163,2455,2456,2461,2465,2469,2474],{},[166,2457,2458],{},[24,2459,2460],{"href":763},"List comprehensions in Python explained",[166,2462,2463],{},[24,2464,27],{"href":26},[166,2466,2467],{},[24,2468,948],{"href":947},[166,2470,2471],{},[24,2472,2473],{"href":2406},"How to loop through a dictionary in Python",[166,2475,2476],{},[24,2477,2478],{"href":2411},"How to check if a key exists in a dictionary in Python",[14,2480,2481],{},"Compare a dictionary comprehension with a normal loop, then practice by turning a small list or dictionary into a new dictionary. That is the fastest way to get comfortable with this syntax.",[2483,2484,2485],"style",{},"html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":40,"searchDepth":86,"depth":86,"links":2487},[2488,2489,2490,2493,2494,2495,2499,2505,2510,2511,2517],{"id":32,"depth":86,"text":33},{"id":157,"depth":86,"text":158},{"id":211,"depth":86,"text":212,"children":2491},[2492],{"id":312,"depth":126,"text":313},{"id":450,"depth":86,"text":451},{"id":767,"depth":86,"text":768},{"id":1113,"depth":86,"text":1114,"children":2496},[2497,2498],{"id":1148,"depth":126,"text":1149},{"id":1288,"depth":126,"text":1289},{"id":1380,"depth":86,"text":1381,"children":2500},[2501,2502,2503,2504],{"id":1387,"depth":126,"text":1388},{"id":1500,"depth":126,"text":1501},{"id":1661,"depth":126,"text":1662},{"id":1671,"depth":126,"text":1672},{"id":1804,"depth":86,"text":1805,"children":2506},[2507,2508,2509],{"id":1825,"depth":126,"text":1826},{"id":1958,"depth":126,"text":1959},{"id":2067,"depth":126,"text":2068},{"id":2255,"depth":86,"text":2256},{"id":2415,"depth":86,"text":2416,"children":2512},[2513,2514,2515,2516],{"id":2419,"depth":126,"text":2420},{"id":2428,"depth":126,"text":2429},{"id":2438,"depth":126,"text":2439},{"id":2445,"depth":126,"text":2446},{"id":2452,"depth":86,"text":2453},"Master dictionary comprehensions explained in our comprehensive Python beginner guide.","md",{},"\u002Flearn\u002Fdictionary-comprehensions-explained",{"title":5,"description":2518},"learn\u002Fdictionary-comprehensions-explained","o-dBEl7cqvqkhYqtP0C9gL1I_YZwp73BAAUG0_Fp5v4",1777585471362]