41500


はじめまして、Python初心者のものです。  
リストの中の要素と、元々用意してあったkeyの一つとを一致させてそのvalueを出したいのですが、うまくいきません。  
教えていただけたら幸いです。

[code]

    fruitnames = ["Apple", "Grape","Orange"]
    
    fruitnumbers[fruitnumber,value] = ｛"Grape":2,"Strawberry":20,"Apple":10,"Orange":40}
    def fruitcode():
        for fruitnumber in fruitnumbers:
              if fruitname == fruitnumber in fruitnumbers:
                      print(value,fruitname)
    
    fruitcode()
    
[/code]

よろしくお願いいたします。


CC BY-SA 3.0
2018-02-06T01:38:10.897
41495
2018-02-06T03:21:01.850
2018-02-06T01:41:54.583
3060
27294
question
python
Pythonの辞書とリスト


気づいた問題点をあげてみます

１）「元々用意してあったkey」というのは、fruitnames = ["Apple", "Grape","Orange"]の事だと思われます。だとすれば、

[code]

    for fruitnumber in fruitnumbers:
    
[/code]

は、

[code]

    for fruitname in fruitnames:
    
[/code]

であるべきです。

２）「keyの一つとを一致させて」というのは、fruitnamesの中の一つのkeyが、fruitnumbersに含まれる（そのキーの項目を含む）という事でしょうから、

[code]

     if fruitname == fruitnumber in fruitnumbers:
    
[/code]

は、

[code]

     if fruitname  in fruitnumbers:
    
[/code]

(この行は、if fruitmembers.has_key(fruitname) と書くこともできます。キーが含まれていたら(has
key)という関数のほうが、意味が判り易くて良いかもしれません）

３）辞書のvalueは、辞書にキーを与えることで得られます。

[code]

    print(value,fruitname)
    
[/code]

は、

[code]

    print(fruitnumbers[fruitname],fruitname)
    
[/code]

fruitnumbers[fruitname] で、fruitnumbersの中でキーがfruitnameと一致するもののvalueが得られます。


CC BY-SA 3.0
2018-02-06T03:21:01.850
41500
2018-02-06T03:21:01.850
217
41495
answer