使用for循环创建数据副本

2024-10-05 10:01:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我的措辞包含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))

输出

36
3510

为什么是3510而不是3600?我做错什么了吗


Tags: textinfordatalendef记录range
2条回答

对于ki的一些组合重复连接k+str(i)。字典键必须是唯一的。这会导致覆盖现有密钥

我建议您使用tuple键来代替它,另外,它将数据结构与您的逻辑对齐:

for k, v in text_list.iteritems():
    for i in range(100):
        data_item[(k, i)] = v

考虑一下像'110'这样的键可以通过两种方式创建:

k+str(i) = '1' + str(10)k+str(i) = '11' + str(0)

您需要将k+str(i)替换为保证创建唯一键值的内容。一种方法是将键设为元组:(k, i)

data_item[k,i] = v

相关问题 更多 >

    热门问题