前提・実現したいこと
辞書の中にあるキーが存在するかを判定し、どのリストと合致するかを求めようとしています。
具体的には、以下の前提があってsample
の辞書が与えられた時、文字列でfish
と出力したいです。
fish = ["tuna", "salmon", "mussels"] vegitable = ["spinach", "carrot", "eggplant"] fruite = ["apple", "mango", "pineapple"] #入力 sample = {"tuna":1, "salmon":2, "mussels":1} #出力 fish
発生している問題・エラーメッセージ
しかしながら、現在のプログラムでは、リストの中身自体が返される仕様になっており、どのように修正すればリスト名を文字列で取得できるかわからない状態です。
$ python sample.py ['tuna', 'salmon', 'mussels']
該当のソースコード
python
1fish = ["tuna", "salmon", "mussels"] 2vegitable = ["spinach", "carrot", "eggplant"] 3fruite = ["apple", "mango", "pineapple"] 4basket = [vegitable, fruite, fish] 5 6sample = {"tuna":1, "salmon":2, "mussels":1} 7 8def function(): 9 for i in range(len(basket)): 10 for j in range(len(basket[i])): 11 if basket[i][j] not in sample: 12 break 13 else: 14 return str(basket[i]) 15 16print(function()) 17 18
試したこと
print(type(fruite)) <class 'list'>
basket
の中身の名前もリスト型であることは分かったのですが、str()
に変更してもリスト名ではなく、中身の型が変更されるだけのようで、解決策が見つかっていない状態です。
補足情報(FW/ツールのバージョンなど)
Python 3.7.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。