python - 使用 for 循环创建数据副本

标签 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))

输出

36
3510

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

最佳答案

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

我建议您改用 tuple 键,此外,它还能使数据结构与您的逻辑保持一致:

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

关于python - 使用 for 循环创建数据副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52554197/

相关文章:

php - 按不同组sql将学生分开

python - 比较两个文本文件并将匹配项转到新文件

dictionary - 根据 Airflow 中任务的输出字典动态生成多个任务

c++ - Priority_queue 的基于范围的 for 循环

c# - Linq 和字典的范围

c++ - 根据键字符串使用迭代器更改嵌套映射的 int 值

java - 使用增强型 for 循环时的 IndexOutOfBoundsException

python - 我可以在 if 语句中不使用 break 来执行此操作吗?

python - Django 中模型的多个日期时间字段

python - 在 MAC OS X 上安装 PocketSphinx