所以我在python中遇到了一些非常奇怪的东西.我尝试将列表的引用添加到自身.代码可能有助于证明我所说的比我能表达的更好.我正在使用IDLE编辑器(交互模式).
>>>l=[1,2,3]
>>>l.append(l)
>>>print(l)
[1,2,3,[...]]
>>>del l[:-1]
>>>print(l)
[[...]]
Run Code Online (Sandbox Code Playgroud)
到目前为止,输出是预期的.但是当我这样做的时候.
y=l[:]
print(y)
Run Code Online (Sandbox Code Playgroud)
对我而言,似乎输出应该是
[[...]]
Run Code Online (Sandbox Code Playgroud)
但它是
[[[...]]]
Run Code Online (Sandbox Code Playgroud)
显然,它不是创建列表的副本,而是在y中引用列表.
y [0]是l返回True.我似乎无法找到一个很好的解释.有任何想法吗?
我在整个文档中看到了很多关于 usercustomize 的提及。究竟是什么?
我使用的是 Ubuntu 12.0、Python 3.3,使用 IDLE 解释器。
添加一个'usercustomize.py'文件,/usr/lib/python3.3其中包含以下代码:
import math
Run Code Online (Sandbox Code Playgroud)
我启动了 IDLE 解释器。没有导入数学,我输入math.sqrt(
输入 Ctrl + \ 启动自动完成建议,我收到类似 的提示sqrt(x)。这表明数学实际上已经被引进了。但实际调用该函数会引发NameError.
这里究竟发生了什么?
我最近遇到了一个名为StackEdit的webapp ,它允许您在输入(几乎)纯文本时创建HTML文档,使用Markdown语法(也在StackExchange上实现)将文本转换为HTML.介绍性文档具有某些图标代码<i class='icon-upload'></i>,其中生成(我假设)HTML图标.
有谁知道在哪里可以找到各种用途的图标代码列表(详尽无遗)?显然,通过"关于"部分中的信用,它使用名为Font Awesome的东西来实现它,但是那里列出的代码似乎在StackEdit中不起作用.也许它实现了一些代码,但它有自己的图标代码列表.有帮助吗?
我需要选择6个整数,range(1, 51)这样就不会选择两个连续的整数.(1, 3, 6, 9, 13, 28)是一个有效的选择,但(1, 3, 4, 9, 13, 28)不是.我需要构建一个包含所有这些可能组合的列表,每个组合都在一个元组中.生成器也可以代替列表.我知道我需要使用像itertools.combinations这里的东西,但我无法弄清楚如何用连续值消除元组.我写了这段代码,
>>> import itertools
>>> l = list(itertools.combinations(range(1, 51), 6))
>>> len(l)
13983816
Run Code Online (Sandbox Code Playgroud)
如果对可以选择的元组没有限制,那就是我期望的长度,即50!/(44!6!).有帮助吗?
所以我在math.se上读到了这个问题,并决定运行一个循环来检查自己的答案.我知道有严格的证据,所以我从来没有真正怀疑它,但是当你看到事情发生时,这很好.显然stackoverflow不支持LaTex,(考虑到这是一个编程站点,而不是数学站点,这看起来很合理)所以我发布了一个截图,以防链接出现故障或其他问题.

现在我写了这个代码来模拟上面的表达式,显然计算它直到无穷大是荒谬的,所以我决定这样做直到n = 999,对我来说似乎是合理的,因为我不知道表达式收敛的速度有多快.对于没有数学背景的人,忽略lim我试图计算n = 999的给定表达式.
>>>l=list(range(1,1000))
>>>from math import sqrt as s
>>>p=1
>>>while l:
a=l.pop()
a*=p
a+=1
a=s(a)
p=a
>>>p
2.0
Run Code Online (Sandbox Code Playgroud)
我希望答案是3而不是2.还要注意我不是要求一种方法来计算这个函数,我要求我的代码中的错误.你可以为我提供你自己的功能,但这个问题的主要目的是找到我写的代码中的错误,遗憾的是我找不到.