使用for循环创建数据副本

use*_*212 3 python dictionary for-loop

我有一个包含36个数据项的词典.我想复制每条记录100次.所以总记录将是3600.

def createDataReplication(text_list):
    data_item = {}
    print(len(text_list))
    for k,v in text_list.iteritems():
        for i in range(0,100):
            data_item[k+str(i)] = v
    print(len(data_item))
Run Code Online (Sandbox Code Playgroud)

产量

36
3510
Run Code Online (Sandbox Code Playgroud)

为什么它是3510而不是3600?我有什么不对吗?

jpp*_*jpp 5

该串联k+str(i)重复的一些组合ki.字典键必须是唯一的.这会导致覆盖现有密钥.

我建议您使用tuple密钥,此外,它还会将数据结构与您的逻辑对齐:

for k, v in text_list.iteritems():
    for i in range(100):
        data_item[(k, i)] = v
Run Code Online (Sandbox Code Playgroud)