为什么选A呀,D为什么不对呢

为什么D不对,那正确的创建空集合的语句应该是怎样的呢,BC能解释一下为什么不对吗

img

B 选项是创建一个空元组。
C 选项应该是最有误导性的,因为如果写 a = {1, 2, 3} 确实是创建一个集合,但是要知道 Python 还有字典,字典书写为 a = {'a': 1, 'b': 2, 'c': 3}。Python 默认会将 {} 识别为空字典。
D 是创建一个空列表。
想要创建一个空集合,应该是 a = set()

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7547929
  • 除此之外, 这篇博客: 《动手学深度学习》笔记中的 练习3:在控制流的例子中,我们计算d关于a的导数,如果我们将变量a更改为随机向量或矩阵,会发生什么? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • def f(a):
        b = a * 2
        while b.norm() < 1000:
            b = b * 2
        if b.sum() > 0:
            c = b
        else:
            c = 100 * b
        return c
    a = torch.randn(size=(3,4), requires_grad=True)
    d = f(a)
    d.backward()
    # grad can be implicitly created only for scalar outputs