リストを検索するには?任意の提案を高く評価:Pythonリスト検索
for key in nodelist.keys():
if len(nodelist[key]) > 0:
if key == "sample_node":
print key + ":"
print nodelist[key]
リストを検索するには?任意の提案を高く評価:Pythonリスト検索
for key in nodelist.keys():
if len(nodelist[key]) > 0:
if key == "sample_node":
print key + ":"
print nodelist[key]
key = "sample_node"
if key in nodelist:
print ''.join([key, ":", nodelist[key]])
'if len()> 0'部分がありません... – EOL
私は、"辞書のこの項目が設定されているかどうか "という彼の素朴なアプローチとしてこれを採用しました。 – Interrobang
質問のテストは、「値に長さがゼロでない場合」を意味します。例えば、 'nodelist = {" sample_node ":[]}'は元の質問には何も表示しませんが、答えに何かを表示します。 – EOL
このコードを書くために簡単です:
key = "sample_node"
if key in nodelist: # loop not needed, and .keys() not needed
value = nodelist[key]
if value: # len() not needed
print key + ":"
print value
...とdownvoteの理由は...ですか? – EOL
コードの書式を修正することができます。 – FakeRainBrigand
@FakeRainBrigandちょっと男、それを編集しないでくださいdownvote;) – Efazati
はこのお試しください:
[k+':'+str(v) for k,v in nodelist.items() if k == 'sample_node' and v]
をそして、あなたは結果だけを印刷する必要がある場合:
for s in (k+':'+str(v) for k,v in nodelist.items() if k == 'sample_node' and v):
print s
nodelist
の種類がdict
の場合:
>>> key = 'sample_node'
>>> if nodelist.get(key):
... print key+':'+str(nodelist[key])
filter(lambda x: nodeList[x], nodeList)
あなたが本当にやろうとしていますか?それを英語で説明してください。 **正確**。予想される入力と出力の例を挙げてください。 –
これは「検索」ではありません。これは「フィルタ」です。また、 'nodeList'はおそらくリストではありません。それが意味をなさせるためには辞書でなければなりません。 –