小编Guy*_*Guy的帖子

递归引用自身内的列表

所以我在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.我似乎无法找到一个很好的解释.有任何想法吗?

python list repr self-reference

11
推荐指数
1
解决办法
810
查看次数

什么是用户定制

我在整个文档中看到了很多关于 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.

这里究竟发生了什么?

python

5
推荐指数
1
解决办法
3420
查看次数

StackEdit图标

我最近遇到了一个名为StackEdit的webapp ,它允许您在输入(几乎)纯文本时创建HTML文档,使用Markdown语法(也在StackExchange上实现)将文本转换为HTML.介绍性文档具有某些图标代码<i class='icon-upload'></i>,其中生成(我假设)HTML图标.

有谁知道在哪里可以找到各种用途的图标代码列表(详尽无遗)?显然,通过"关于"部分中的信用,它使用名为Font Awesome的东西来实现它,但是那里列出的代码似乎在StackEdit中不起作用.也许它实现了一些代码,但它有自己的图标代码列表.有帮助吗?

html css fonts stackedit

5
推荐指数
2
解决办法
2208
查看次数

从给定范围中选择整数

我需要选择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!).有帮助吗?

python

3
推荐指数
2
解决办法
171
查看次数

循环遍历列表时出错

所以我在math.se上读到了这个问题,并决定运行一个循环来检查自己的答案.我知道有严格的证据,所以我从来没有真正怀疑它,但是当你看到事情发生时,这很好.显然stackoverflow不支持LaTex,(考虑到这是一个编程站点,而不是数学站点,这看起来很合理)所以我发布了一个截图,以防链接出现故障或其他问题.

Ramanujan着名的嵌套激进派

现在我写了这个代码来模拟上面的表达式,显然计算它直到无穷大是荒谬的,所以我决定这样做直到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.还要注意我不是要求一种方法来计算这个函数,我要求我的代码中的错误.你可以为我提供你自己的功能,但这个问题的主要目的是找到我写的代码中的错误,遗憾的是我找不到.

python

1
推荐指数
1
解决办法
72
查看次数

标签 统计

python ×4

css ×1

fonts ×1

html ×1

list ×1

repr ×1

self-reference ×1

stackedit ×1