【发布时间】:2016-01-21 07:17:15
【问题描述】:
我是 Python 新手(2 周),遇到了一个问题。
我有这本不断增长的字典:
dict1={"some_large_key1":"value1","some_large_key2":"value2",........,"some_large_key1000":"value1000"}
问题 1:我想创建一个 csv 文件,我不想在其中包含一些键值对。
--> 一种可能的解决方案是制作一个键列表并忽略整个列表。
list1=["some_large_key1","some_large_key2","some_large_key3"]
for key,value in dict1:
if key not in list1: #something like this
#do something
else:
#do something
问题2:我不想给出这么大的键名,我可以直接给出:
list1=["key1","key2",...]
这是一个正确的方法还是我应该考虑别的?
【问题讨论】:
-
我建议使用集合而不是列表,因为
in运算符在集合中是常量。但是,是的,你肯定需要那个 if 语句来过滤掉你不想打印的值。 -
你能详细说明你的“some_large_key1”和“key1”之间的关系吗?您是使用一些函数将“some_large_key1”缩减为“key1”还是直接忽略前几个字符?
-
@dazedconfused :所以我有这个键名:“some_large_key1”。我不想使用这个更大的名称,而是想通过在忽略列表中传递“key1”来使其变得简单。所以在迭代字典时,如果我发现任何包含“key1”的键,比如“blah_blah_key1”,我会忽略它。
标签: python list python-2.7 csv dictionary