我对以下代码感到有点困惑:
d = {'x': 1, 'y': 2, 'z': 3}
for key in d:
print key, 'corresponds to', d[key]
Run Code Online (Sandbox Code Playgroud)
我不明白的是这个key部分.Python如何识别它只需要从字典中读取密钥?keyPython中是一个特殊的词吗?或者它只是一个变量?
Python中"iterable","iterator"和"iteration"的最基本定义是什么?
我已阅读多个定义,但我无法确定其确切含义,因为它仍然不会沉入其中.
有人可以帮助我解释外行人的3个定义吗?
普通的for/in语句是否保证列表按顺序迭代?
my_list = [5,4,3,2]
for i in my_list
print(i)
Run Code Online (Sandbox Code Playgroud)
也就是说,上面的循环是否保证5 4 3 2每次打印?
我正在解析两个大文件(Gb大小顺序),每个文件包含keys和对应values.一些keys在两个文件之间共享,但具有不同的对应values.对于每个文件,我想写一个新文件keys*和相应的文件values,keys*表示密钥同时出现在file1和file2中.我不关心key输出中的顺序,但绝对应该在两个文件中的顺序相同.
档案1:
key1
value1-1
key2
value1-2
key3
value1-3
Run Code Online (Sandbox Code Playgroud)
文件2:
key1
value2-1
key5
value2-5
key2
value2-2
Run Code Online (Sandbox Code Playgroud)
有效输出将是:
解析文件1:
key1
value1-1
key2
value1-2
Run Code Online (Sandbox Code Playgroud)
解析文件2:
key1
value2-1
key2
value2-2
Run Code Online (Sandbox Code Playgroud)
另一个有效的输出:
解析文件1:
key2
value1-2
key1
value1-1
Run Code Online (Sandbox Code Playgroud)
解析文件2:
key2
value2-2
key1
value2-1
Run Code Online (Sandbox Code Playgroud)
的无效输出(在文件1和文件2不同的顺序键):
解析文件1:
key2
value1-2
key1
value1-1
Run Code Online (Sandbox Code Playgroud)
解析文件2:
key1
value2-1
key2
value2-2
Run Code Online (Sandbox Code Playgroud)
最后一个精度是,值大小远远大于密钥大小.
我想要做的是:
对于每个输入文件,使用与文件中的键对应的键解析并返回a dict(让我们调用它file_index),以及与在输入文件中找到键的偏移量相对应的值.
计算交集
good_keys = file1_index.viewkeys() & file2_index.viewkeys()
Run Code Online (Sandbox Code Playgroud)做一些像(伪代码): …
python ×4
iteration ×2
python-2.7 ×2
dictionary ×1
iterable ×1
iterator ×1
set ×1
terminology ×1