带有range()的for循环会导致非常奇怪的行为

时间:2013-08-03 16:32:40

标签: python for-loop python-3.x

尝试构建一个非常简单的Python for循环我不知道,奇怪的行为是由什么引起的。

这是代码:

def __init__(self, create_test_data):
    if(create_test_data):
        self.sites = []
        for x in range(2):
            site = Site(
                title='article' + str(x),
                alias='alias' + str(x),
                keywords='keyword' + str(x),
                description='description' + str(1),
                author='Martin Schophaus'
                )
            for y in range(2):
                article = Article()
                for z in range(2):
                    content = Content(
                        '<div>Test content {}-{}-{}</div>'.format(
                            str(x), str(y), str(z)
                        ))
                    article.content.append(content)
                site.articles.append(article)
            self.sites.append(site)

最后,变量self.sites应包含所有网站,网站应包含网站文章,文章应包含文章内容。但目前的结果是: 这些网站包含所有网站的所有内容/文章。我很困惑,因为它不起作用。

来自C#,这不是我的预期。感谢您的帮助:)

0 个答案:

没有答案