{"id":2440,"date":"2026-01-17T13:29:40","date_gmt":"2026-01-17T13:29:40","guid":{"rendered":"https:\/\/demo.materiamedica.net\/demo6\/?p=2440"},"modified":"2026-01-17T13:29:40","modified_gmt":"2026-01-17T13:29:40","slug":"python-list-comprehension","status":"publish","type":"post","link":"https:\/\/demo.materiamedica.net\/demo6\/python-list-comprehension\/","title":{"rendered":"Python &#8211; List Comprehension"},"content":{"rendered":"<h2 data-start=\"337\" data-end=\"370\">1. What is List Comprehension?<\/h2>\n<p data-start=\"372\" data-end=\"466\"><strong data-start=\"372\" data-end=\"394\">List comprehension<\/strong> is a <strong data-start=\"400\" data-end=\"422\">short and easy way<\/strong> to create a new list from an existing list.<\/p>\n<p data-start=\"468\" data-end=\"540\">In simple words:<br \/>\n\ud83d\udc49 It lets you <strong data-start=\"500\" data-end=\"519\">write less code<\/strong> to do the same work.<\/p>\n<h2 data-start=\"547\" data-end=\"585\">2. Normal Way vs List Comprehension<\/h2>\n<h3 data-start=\"587\" data-end=\"614\">Normal Way (Using Loop)<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">numbers = [<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">4<\/span>]<br \/>\nnew_numbers = []<\/p>\n<p><span class=\"hljs-keyword\">for<\/span> n <span class=\"hljs-keyword\">in<\/span> numbers:<br \/>\n    new_numbers.append(n * <span class=\"hljs-number\">2<\/span>)<\/p>\n<p><span class=\"hljs-built_in\">print<\/span>(new_numbers)<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"744\" data-end=\"770\">List Comprehension Way<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">numbers = [<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">4<\/span>]<br \/>\nnew_numbers = [n * <span class=\"hljs-number\">2<\/span> <span class=\"hljs-keyword\">for<\/span> n <span class=\"hljs-keyword\">in<\/span> numbers]<\/p>\n<p><span class=\"hljs-built_in\">print<\/span>(new_numbers)<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"868\" data-end=\"936\">\ud83d\udc49 Both give the <strong data-start=\"885\" data-end=\"900\">same result<\/strong>, but list comprehension is shorter.<\/p>\n<h2 data-start=\"943\" data-end=\"968\">3. Basic Syntax (Easy)<\/h2>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-text\">new_list = [expression for item in old_list]<br \/>\n<\/code><\/div>\n<\/div>\n<h2 data-start=\"1033\" data-end=\"1053\">4. Simple Example<\/h2>\n<h3 data-start=\"1060\" data-end=\"1071\">Example<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">fruits = [<span class=\"hljs-string\">\"apple\"<\/span>, <span class=\"hljs-string\">\"banana\"<\/span>, <span class=\"hljs-string\">\"orange\"<\/span>]<\/p>\n<p>new_list = [fruit <span class=\"hljs-keyword\">for<\/span> fruit <span class=\"hljs-keyword\">in<\/span> fruits]<\/p>\n<p><span class=\"hljs-built_in\">print<\/span>(new_list)<br \/>\n<\/code><\/div>\n<\/div>\n<h2 data-start=\"1188\" data-end=\"1227\">5. List Comprehension with Condition<\/h2>\n<p data-start=\"1229\" data-end=\"1264\">You can add a condition using <code data-start=\"1259\" data-end=\"1263\">if<\/code>.<\/p>\n<h3 data-start=\"1271\" data-end=\"1282\">Example<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">numbers = [<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">6<\/span>]<\/p>\n<p>even_numbers = [n <span class=\"hljs-keyword\">for<\/span> n <span class=\"hljs-keyword\">in<\/span> numbers <span class=\"hljs-keyword\">if<\/span> n % <span class=\"hljs-number\">2<\/span> == <span class=\"hljs-number\">0<\/span>]<\/p>\n<p><span class=\"hljs-built_in\">print<\/span>(even_numbers)<br \/>\n<\/code><\/div>\n<\/div>\n<h2 data-start=\"1404\" data-end=\"1448\">6. Change Values Using List Comprehension<\/h2>\n<h3 data-start=\"1455\" data-end=\"1466\">Example<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">names = [<span class=\"hljs-string\">\"amit\"<\/span>, <span class=\"hljs-string\">\"ravi\"<\/span>, <span class=\"hljs-string\">\"sita\"<\/span>]<\/p>\n<p>new_names = [name.upper() <span class=\"hljs-keyword\">for<\/span> name <span class=\"hljs-keyword\">in<\/span> names]<\/p>\n<p><span class=\"hljs-built_in\">print<\/span>(new_names)<br \/>\n<\/code><\/div>\n<\/div>\n<h2 data-start=\"1584\" data-end=\"1620\">7. List Comprehension with String<\/h2>\n<h3 data-start=\"1627\" data-end=\"1638\">Example<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">text = <span class=\"hljs-string\">\"hello\"<\/span><\/p>\n<p>letters = [ch <span class=\"hljs-keyword\">for<\/span> ch <span class=\"hljs-keyword\">in<\/span> text]<\/p>\n<p><span class=\"hljs-built_in\">print<\/span>(letters)<br \/>\n<\/code><\/div>\n<\/div>\n<h2 data-start=\"1721\" data-end=\"1758\">8. List Comprehension with Numbers<\/h2>\n<h3 data-start=\"1765\" data-end=\"1776\">Example<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">numbers = [<span class=\"hljs-number\">10<\/span>, <span class=\"hljs-number\">20<\/span>, <span class=\"hljs-number\">30<\/span>]<\/p>\n<p>new_list = [n + <span class=\"hljs-number\">5<\/span> <span class=\"hljs-keyword\">for<\/span> n <span class=\"hljs-keyword\">in<\/span> numbers]<\/p>\n<p><span class=\"hljs-built_in\">print<\/span>(new_list)<br \/>\n<\/code><\/div>\n<\/div>\n<h2 data-start=\"1874\" data-end=\"1915\">9. Using if\u2013else in List Comprehension<\/h2>\n<h3 data-start=\"1922\" data-end=\"1933\">Example<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">numbers = [<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">4<\/span>]<\/p>\n<p>result = [<span class=\"hljs-string\">\"even\"<\/span> <span class=\"hljs-keyword\">if<\/span> n % <span class=\"hljs-number\">2<\/span> == <span class=\"hljs-number\">0<\/span> <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-string\">\"odd\"<\/span> <span class=\"hljs-keyword\">for<\/span> n <span class=\"hljs-keyword\">in<\/span> numbers]<\/p>\n<p><span class=\"hljs-built_in\">print<\/span>(result)<br \/>\n<\/code><\/div>\n<\/div>\n<h2 data-start=\"2053\" data-end=\"2084\">10. Common Beginner Mistakes<\/h2>\n<h3 data-start=\"2091\" data-end=\"2116\">\u274c Forgetting Brackets<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">new_list = n * <span class=\"hljs-number\">2<\/span> <span class=\"hljs-keyword\">for<\/span> n <span class=\"hljs-keyword\">in<\/span> numbers<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"2166\" data-end=\"2176\">\u2714 Correct:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">new_list = [n * <span class=\"hljs-number\">2<\/span> <span class=\"hljs-keyword\">for<\/span> n <span class=\"hljs-keyword\">in<\/span> numbers]<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"2233\" data-end=\"2260\">\u274c Making It Too Complex<\/h3>\n<p data-start=\"2261\" data-end=\"2314\">Avoid very long list comprehensions at the beginning.<\/p>\n<h2 data-start=\"2321\" data-end=\"2352\">11. Simple Practice Examples<\/h2>\n<h3 data-start=\"2359\" data-end=\"2388\">Example 1: Square Numbers<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">nums = [<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">4<\/span>]<\/p>\n<p>squares = [n * n <span class=\"hljs-keyword\">for<\/span> n <span class=\"hljs-keyword\">in<\/span> nums]<br \/>\n<span class=\"hljs-built_in\">print<\/span>(squares)<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"2477\" data-end=\"2511\">Example 2: Names with Letter A<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">names = [<span class=\"hljs-string\">\"Amit\"<\/span>, <span class=\"hljs-string\">\"Ravi\"<\/span>, <span class=\"hljs-string\">\"Anita\"<\/span>]<\/p>\n<p>a_names = [name <span class=\"hljs-keyword\">for<\/span> name <span class=\"hljs-keyword\">in<\/span> names <span class=\"hljs-keyword\">if<\/span> <span class=\"hljs-string\">\"A\"<\/span> <span class=\"hljs-keyword\">in<\/span> name]<br \/>\n<span class=\"hljs-built_in\">print<\/span>(a_names)<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"2632\" data-end=\"2664\">Example 3: Convert to String<\/h3>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl\/main:top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-python\">numbers = [<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>]<\/p>\n<p>strings = [<span class=\"hljs-built_in\">str<\/span>(n) <span class=\"hljs-keyword\">for<\/span> n <span class=\"hljs-keyword\">in<\/span> numbers]<br \/>\n<span class=\"hljs-built_in\">print<\/span>(strings)<br \/>\n<\/code><\/div>\n<\/div>\n<h2 data-start=\"2757\" data-end=\"2792\">12. Summary (List Comprehension)<\/h2>\n<p data-start=\"2794\" data-end=\"2922\">\u2714 Short way to create lists<br data-start=\"2821\" data-end=\"2824\" \/>\u2714 Cleaner than loops<br data-start=\"2844\" data-end=\"2847\" \/>\u2714 Can use conditions<br data-start=\"2867\" data-end=\"2870\" \/>\u2714 Easy to read if simple<br data-start=\"2894\" data-end=\"2897\" \/>\u2714 Very useful in Python<\/p>\n<h3 data-start=\"2929\" data-end=\"2962\">\ud83d\udcd8 Perfect for Beginner eBook<\/h3>\n<p data-start=\"2964\" data-end=\"2990\">This chapter is ideal for:<\/p>\n<ul data-start=\"2991\" data-end=\"3064\">\n<li data-start=\"2991\" data-end=\"3016\">\n<p data-start=\"2993\" data-end=\"3016\">Python beginner books<\/p>\n<\/li>\n<li data-start=\"3017\" data-end=\"3046\">\n<p data-start=\"3019\" data-end=\"3046\">School &amp; college students<\/p>\n<\/li>\n<li data-start=\"3047\" data-end=\"3064\">\n<p data-start=\"3049\" data-end=\"3064\">Self-learners<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"3071\" data-end=\"3101\">If you want next, I can write:<\/p>\n<ul data-start=\"3102\" data-end=\"3200\">\n<li data-start=\"3102\" data-end=\"3120\">\n<p data-start=\"3104\" data-end=\"3120\"><strong data-start=\"3104\" data-end=\"3118\">Sort Lists<\/strong><\/p>\n<\/li>\n<li data-start=\"3121\" data-end=\"3139\">\n<p data-start=\"3123\" data-end=\"3139\"><strong data-start=\"3123\" data-end=\"3137\">Copy Lists<\/strong><\/p>\n<\/li>\n<li data-start=\"3140\" data-end=\"3158\">\n<p data-start=\"3142\" data-end=\"3158\"><strong data-start=\"3142\" data-end=\"3156\">Join Lists<\/strong><\/p>\n<\/li>\n<li data-start=\"3159\" data-end=\"3179\">\n<p data-start=\"3161\" data-end=\"3179\"><strong data-start=\"3161\" data-end=\"3177\">Tuple Basics<\/strong><\/p>\n<\/li>\n<li data-start=\"3180\" data-end=\"3200\">\n<p data-start=\"3182\" data-end=\"3200\"><strong data-start=\"3182\" data-end=\"3200\">List Exercises<\/strong><\/p>\n<\/li>\n<\/ul>\n<p data-start=\"3202\" data-end=\"3217\" data-is-last-node=\"\" data-is-only-node=\"\">Just tell me \ud83d\ude0a<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. What is List Comprehension? List comprehension is a short and easy way to create a new list from an existing list. In simple words: \ud83d\udc49 It lets you write less code to do&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-2440","post","type-post","status-publish","format-standard","hentry","category-python"],"_links":{"self":[{"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/posts\/2440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/comments?post=2440"}],"version-history":[{"count":1,"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/posts\/2440\/revisions"}],"predecessor-version":[{"id":2441,"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/posts\/2440\/revisions\/2441"}],"wp:attachment":[{"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/media?parent=2440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/categories?post=2440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demo.materiamedica.net\/demo6\/wp-json\/wp\/v2\/tags?post=2440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}