自定义字典和列表输出

时间:2019-05-23 07:31:22

标签: python python-3.x

我有一个列表和字典,如下所示:

inv = {'gold coin': 42, 'rope': 1}
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']

我需要以以下格式显示输出:

45 gold coin
1 rope
1 ruby
1 dagger

Total number of items: 48

我试图对相似的字典键进行总和。但是无法编写正确的逻辑。

由于我是编程界的新手,所以我找不到正确的逻辑。

以下是我需要显示的预期输出:

45 gold coin
1 rope
1 ruby
1 dagger
Total number of items: 48

3 个答案:

答案 0 :(得分:2)

使用KILL (SELECT spid FROM master..sysprocesses WHERE hostprocess = '6672')

from collections import Counter
d = Counter(inv) + Counter(dragonLoot)
s = sum(d.values())
for k, v in d.items():
    print (k, v)
print ("Total number of items: ", s)

输出:

<style>    
    .vertical-menu{
        position: fixed;
        top: 0; /* or bottom: 0;*/
    }
<style>
<div>
    <p align="center"><iframe src="https://rucode.tumblr.com" width="1200" height="1400" align="middle" class="embeded-website"></iframe></p>
    <aside class="side-social-media">
        <nav>
            <ul class="vertical-menu">
                <li><a href="https://www.facebook.com/profile.php?id=100011425754260" target="_blank" class="fa fa-facebook"></a></li>
                <li><a href="https://twitter.com/Mike_doug11" target="_blank"class="fa fa-twitter"></a></li>
                <li><a href="https://www.linkedin.com/in/michael-douglas11" target="_blank" class="fa fa-linkedin"></a></li>
                <li><a href="https://www.youtube.com/channel/UCihoOa4CmCOFH_TE1-Utp-A?view_as=subscriber" target="_blank"class="fa fa-youtube"></a></li>
                <li><a href="https://www.instagram.com/mike_doug11/" target="_blank"class="fa fa-instagram"></a></li>
                <li><a href="https://www.snapchat.com/add/mike_douglas" target="_blank" class="fa fa-snapchat-ghost"></a></li>
             </ul>
         </nav>
    </aside>

<div>

答案 1 :(得分:1)

您可以使用计数-

SideloaderScaleEntity

答案 2 :(得分:0)

我已经看过另外两种解决方案,但是由于您是编程的新手,我认为最好使其保持简单,让我们避免使用任何库。

首先,我们要掠夺龙(这意味着将dragonLoot数组组合并添加到我们的库存中):

for item in dragonLoot:
    if item in inv:
        inv[item] += 1
    else:
        inv[item] = 1 

我们的库存现在看起来像: {'gold coin': 45, 'rope': 1, 'dagger': 1, 'ruby': 1}

现在,在掠夺龙之后,我们只需要显示战利品,我们就可以在打印每个值时遍历字典。

sum = 0
for item in inv:
    print("%d %s" % (inv[item], item))
    sum += inv[item]
print('Total umber of items: %d' % (sum))

现在我们可以继续冒险了!