jak lze třídit seznam slovníků hodnotou slovníku?
<p>mám seznam slovníků a chci, aby každá položka byla řazena podle konkrétních hodnot vlastností.</p><p>vezměte v úvahu pole níže,</p><pre><code>[{'name':'homer', 'age':39}, {'name':'bart', 'age':10}] </code></pre><p>při třídění podle <code>name</code> by se mělo stát</p><pre><code>[{'name':'bart', 'age':10}, {'name':'homer', 'age':39}] </code></pre>
<p>místo toho může vypadat čistěji pomocí klíče a cmp:</p><pre class="lang-py prettyprint-override"><code>newlist = sorted(list\_to\_be\_sorted, key=lambda k: k['name']) </code></pre><p>nebo jak navrhl j.f.sebastian a další,</p><pre class="lang-py prettyprint-override"><code>from operator import itemgetter newlist = sorted(list\_to\_be\_sorted, key=itemgetter('name')) </code></pre><p>pro úplnost (jak je uvedeno v komentářích fitzgeraldsteele) přidejte <code>reverse=true</code> pro řazení sestupně</p><pre class="lang-py prettyprint-override"><code>newlist = sorted(l, key=itemgetter('name'), reverse=true) </code></pre>
<p>můžete vytvořit funkci se vzorem <code>shouldserialize{propertyname}</code>, který řekne xmlserializer, pokud má člen serializovat nebo ne.</p><p>pokud se například vlastnost třídy nazývá <code>mynullableint</code>, můžete mít</p><pre><code>public bool shouldserializemynullableint() { return mynullableint.hasvalue; } </code></pre><p>zde je úplný vzorek</p><pre><code>public class person { public string name {get;set;} public int? age {get;set;} public bool shouldserializeage() { return age.hasvalue; } } </code></pre><p>serializován s následujícím kódem</p><pre><code>person theperson = new person(){name="chris"}; xmlserializer xs = new xmlserializer(typeof(person)); stringwriter sw = new stringwriter(); xs.serialize(sw, theperson); </code></pre><p>výsledky v následujícím xml - všimněte si, že neexistuje žádný věk</p><pre><code>&lt;person xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema"&gt; &lt;name&gt;chris&lt;/name&gt; &lt;/person&gt; </code></pre> <blockquote> <p>existuje lepší způsob, jak toho dosáhnout pomocí vlastních taxonomií?</p> </blockquote><p>máte pravdu na těch penězích. namísto pokusu o vytvoření vlastního příspěvku do dítěte standardního příspěvku (protože nemůžete) doporučuji použít vlastní taxonomii k objednání věcí.</p><p>v zásadě můžete vytvořit vlastní hierarchickou taxonomii a použít ji k "kategorizaci" standardních příspěvků i vlastních příspěvků. vaše standardní příspěvky byste označili jako nadřazené v taxonomii a své vlastní příspěvky jako dítě.</p><h3>druhá možnost</h3><p>další možností by bylo použití vlastního pole pro rodičovské dědictví. to by mohlo být o něco rychlejší, než aby kód a intuitivnější k použití (plus to vám dá nějaké přidané ovládání).</p><p>přidejte vlastní pole meta do vlastního typu příspěvku nazvaného "rodiče". to pak může být seznam id příspěvků, které by měl být podřízený příspěvek vnořen. pokud potřebujete seznam vyvolat, můžete provést rychlý dotaz na <code>select</code> všechny vaše vlastní příspěvky, které mají rodičovský identifikátor v seznamu svých rodičů.</p> <p>použil bych <code>collectors.groupingby</code> s upraveným <code>localdate</code> na klasifikátoru, takže položky s podobnými daty (podle <em>komprese</em> zadané uživatelem) jsou seskupeny dohromady.</p><p>nejprve vytvořte následující <code>map</code>:</p><pre><code>static final map&lt;string, temporaladjuster&gt; adjusters = new hashmap&lt;&gt;(); adjusters.put("day", temporaladjusters.ofdateadjuster(d -&gt; d)); // identity adjusters.put("week", temporaladjusters.previousorsame(dayofweek.of(1))); adjusters.put("month", temporaladjusters.firstdayofmonth()); adjusters.put("year", temporaladjusters.firstdayofyear()); </code></pre><p>poznámka: pro <code>"day"</code> je používáno <code>temporaladjuster</code>, které umožňuje nedotčené datum.</p><p>poté pomocí <code>compression</code> zadaného uživatelem dynamicky vyberte způsob seskupení seznamu položek:</p><pre><code>map&lt;localdate, list&lt;item&gt;&gt; result = list.stream() .collect(collectors.groupingby(item -&gt; item.getcreationdate() .with(adjusters.get(compression)))); </code></pre><p><code>localdate</code> se nastavuje metodou <a href="https://docs.oracle.com/javase/8/docs/api/java/time/localdate.html#with-java.time.temporal.temporaladjuster-"><code>localdate.with(temporaladjuster)</code></a> .</p> <p>po nějaké zkoušce a omylu to je to, co je potřeba, aby to fungovalo ...</p><pre><code> $cat\_args = array('orderby' =&gt; 'count'); $cat\_args['title\_li'] = ''; $cat\_args['exclude\_tree'] = 1; $cat\_args['exclude'] = 1; $cat\_args['depth'] = 1; wp\_list\_categories(apply\_filters('widget\_categories\_args', $cat\_args)); </code></pre> Dobrý den, určitě můžete úroveň zvyšovat dalším procvičováním. Já jsem měla v aj po dokončení stromu úroveň 10 nebo 11 a nyní, 82. den mám úroveň 19. Procvičuji kliknutím na "posílit slabší dovednosti", přestože žádná slabá slova nemám a nebo si občas procvičuji jednotlivá témata. Nyní si dělám cvičení měřená na čas, jde to rychleji. Promin, ale pokud si nedokazes najit na Internetu nebo v dokumentaci, jak se ve slovniku obrati klice a hodnoty, tak nemas s programovani sanci.Nic ve zlem, ale cely domaci ukol za tebe nikdo resit nebude. Musis ukazat alespon trochu vlastni snahy. a neni to lepsi udelat jednoduseji? napr [https://365tipu.wordpress.com/2015/08/28/kde-zmenim-jme...](https://365tipu.wordpress.com/2015/08/28/kde-zmenim-jmeno-pocitace-s-windows-10-kde-ho-pridam-do-domeny-ci-pracovni-skupiny/) v obchodě - chce to jenom používat hlavu a vyhledávač  
<http://www.zbozi.cz/items>... Tvůj kód nehodlám číst, takže jen obecně. Na začátku před tím než budeš data řadit, tak si udělej jejich kopii. Pak si data seřaď a máš co jsi chtěl. V té kopii máš původní neseřazená data v původním pořadí. Pokud by mi třeba někdo odpověděl tak bych se jěště chtěl zepat jestli používáte nějakou doplňující stránku pro více a přehlednější popisky různych kategorii.Děkuji :)