相关疑难解决方法(0)

省略号[...]在列表中的含义是什么?

我在蟒蛇玩耍.我在IDLE中使用了以下代码:

p  = [1, 2]
p[1:1] = [p]
print p
Run Code Online (Sandbox Code Playgroud)

输出是:

[1, [...], 2]
Run Code Online (Sandbox Code Playgroud)

这是什么[…]?有趣的是,我现在可以将其用作无限列表列表,即

p[1][1][1]....
Run Code Online (Sandbox Code Playgroud)

只要我愿意,我就可以写上面的内容,但它仍然有用.

编辑:

  • 它在记忆中如何表现?
  • 有什么用?某些有用的案例会有所帮助.
  • 任何官方文档的链接都非常有用.

python list ellipsis python-2.7 python-3.x

189
推荐指数
4
解决办法
1万
查看次数

为什么+ =在列表上出现意外行为?

+=python中的运算符似乎在列表上意外运行.谁能告诉我这里发生了什么?

class foo:  
     bar = []
     def __init__(self,x):
         self.bar += [x]


class foo2:
     bar = []
     def __init__(self,x):
          self.bar = self.bar + [x]

f = foo(1)
g = foo(2)
print f.bar
print g.bar 

f.bar += [3]
print f.bar
print g.bar

f.bar = f.bar + [4]
print f.bar
print g.bar

f = foo2(1)
g = foo2(2)
print f.bar 
print g.bar 
Run Code Online (Sandbox Code Playgroud)

OUTPUT

[1, 2]
[1, 2]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3]
[1]
[2] …
Run Code Online (Sandbox Code Playgroud)

python augmented-assignment

103
推荐指数
6
解决办法
6万
查看次数

Python3.6中的列表

我发现了一个关于列表的"有趣"问题.

list1 = [1, 2, 3]
list1.insert(3, list1)
print(list1)
[1, 2, 3, [...]]
POP = list1.pop()
print(POP)
[1, 2, 3]
list1.extend(['a', 'b', 'c'])
print(POP)
[1, 2, 3, 'a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

这些以交互模式显示.当然,我知道"insert"只能在列表中插入一个对象.然而,当我插入list1到list1.它表明[...],这是什么意思?而且,POP = list1.pop()不是说pop不能只返回最终对象吗?扩展列表后,最终对象应为'c'.为什么它会返回整体list1但没有[...]?

python python-2.7 python-3.x

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

为什么Python扩展输出[[...]]

我的讲师在python上设置了几个问题,这个让我感到困惑,我不明白发生了什么.

x = [[]]
x[0].extend(x)
Run Code Online (Sandbox Code Playgroud)

Python告诉我,在运行x之后,是[[...]]什么...意思?

当下面的结果只是时,我会更加困惑 [[]]

y = [] # equivalent to x[0]
x = [[]]
y.extend(x)
Run Code Online (Sandbox Code Playgroud)

如果y计算[[]]得不应该x只计算[[[]]]?

什么是延伸做什么?什么...意思?

python list python-3.x

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