2016-11-18 41 views
1

考慮:如何打印一個python列表,減去一個特定的元素?

commands = dict(
    onboarding = dict(
     default = "default", 
     status = "APPROVED", 
     date = "11/18/15" 
    ) 
    team = dict(
     members = getTeamMembers() 
) 

我如何

print commands['onboarding'].keys() 

沒有在列表打印鍵 '默認'?我試圖隱藏在我的實施。如果在兩個版本的python中都有解釋,獎勵點。

謝謝!

回答

2
print [key for key in commands['onboarding'] if key != 'default'] 
+0

我的男人!謝謝。現在四處尋找,快速反應非常感謝。 – Reciever80

1

如果from __future__ import print_function你可以得到下面的工作有兩個版本:

d=commands['onboarding'] 
print(*[d[i] for i in d if i != 'default']) 

,你建立從所有適用的鍵列表,並在print通話解壓。當然,如果你在輸出中需要一個列表,不要解壓縮(即從列表理解的開始處移除*)。

1

您還可以使用filter像這樣的Python 2.7

print filter(lambda key: key != 'default', commands['onboarding']) 

或像這樣在Python 3

print(list(filter(lambda key: key != 'default', commands['onboarding']))) 

在Python 3,filter返回一個迭代filter對象,而不是列表中Python 2,所以你必須包裝它list()

相關問題