用变量加载python字典

时间:2011-08-12 00:11:14

标签: python dictionary

如何加载一个文本文件,其中包含10个数字代码,返回由python中的字典返回? 那么我如何用我自己的变量交叉检查字典中的变量?

好的,真的很简单。我有一个包含1000个左右的10位数字序列的TXT文件,如下所示:

121001000

000000000

121212121

我需要将这些文件输入到字典中然后能够获取我收到的数字并与此数据库交叉检查,因此它不匹配。 IE 0000000001 = / =以前的任何条目。

3 个答案:

答案 0 :(得分:1)

听起来你想要以一种易于查找的方式存储数字“这个其他值是否已存在?”,但实际上并没有“值”与这些“键”关联 - 所以你真的不想要一个dict(关联数组),而是一个set

Python文件对象是可迭代的,迭代它们会依次为您提供文件的每一行。同时,Python的容器类型(包括set)可以从迭代构造。因此,在文件中创建set行就像set(the_file_object)一样简单。由于这是Python,检查集合中是否有其他值就像some_other_value in the_set一样简单。

答案 1 :(得分:0)

在从文件中读取文本时,请尝试查看input/output的python文档。另外查看data structures教程。 Dictionary通常有一个键和一个值,对应于键:

name: "John"
age: 13

如果您只是在寻找从文件中读取值的结构,list似乎更合适,因为您没有指定任何有关这些值的指定。

答案 2 :(得分:0)

如果您需要将文件的内容作为数字而不是字符串:

file_data = set()
for line in open('/some/file/with/sequences.txt'):
    file_data.add(int(line))

然后:

if some_num not in file_data:
    do_something_with(some_num)

如果文件中有空行或乱码,则需要添加一些错误检查。