当前位置: 首页 > 面试题库 >

赋值如何与Python列表切片一起工作?

琴献
2023-03-14
问题内容

Python文档说切片列表会返回一个新列表。
现在,如果返回了“新”列表,我将对“分配给切片”存在以下疑问

a = [1, 2, 3]
a[0:2] = [4, 5]
print a

现在的输出将是:

[4, 5, 3] 
  1. 返回内容的内容如何出现在表达式的左侧?
  2. 是的,我阅读了文档,并说有可能,因为切片列表返回“新”列表,为什么要修改原始列表?我无法理解其背后的机制。

问题答案:

你混淆了两个使用非常相似的语法的不同操作:

1)切片:

b = a[0:2]

这将复制的切片a并将其分配给b。

2)切片分配:

a[0:2] = b

这将a用的内容替换的切片b

尽管语法相似(我想是通过设计实现的!),但这是两个不同的操作。



 类似资料:
  • 问题内容: 为什么不起作用? 问题答案: 创建所选子列表的副本,该副本由反转。这不会更改原始列表。切片Python列表始终会创建副本-您可以使用 复制整个列表。

  • 在Android Studio2.2的预览版1中,Google在其支持库中发布了一个新的布局:。使用ConstraintLayout可以更容易地在Android Studio中使用设计工具,但我没有找到使用相对大小(像LinearLayout中的百分比或‘权重’)的方法。有没有一种方法来定义基于百分比的约束?例如。使一个视图占据屏幕的40%,在视图之间创建20%的边距,将一个视图的宽度设置为另一个

  • python如何做以下json操作? 如何将jsonv的值添加成如下值, 1.如何向jsonv添加 1:[]? 2.如何向jsonv={1:[]}中添加'黑'成为jsonv={1:['黑','白','灰']}?

  • github repo用代码尝试编写带有重载某些操作的矩阵类。 当我尝试用此笔画编译时,一切都出错了 Matrix.cpp:在函数“int main()”中: Matrix.cpp:36:12:错误:对“Matrix::Matrix(Matrix)”的调用没有匹配函数 然后是这个函数的几个候选项,我真的不明白。 我认为有copy构造函数和几个构造函数,但这不是operator=我认为应该在笔画中调

  • 问题内容: 您如何在不进行更改的情况下,高效,优雅地从Python中提取项目3..6 : 在片符号似乎并没有与工作… 问题答案: import itertools output = list(itertools.islice(q, 3, 7)) 例如: 与到目前为止发布的其他解决方案相比,这应该更有效。证明?

  • 问题内容: 我想要一种算法来遍历列表切片。切片大小在功能之外设置,可以不同。 在我看来,这就像: 有没有一种使用python 2.5正确定义的方法或其他方法? edit1:澄清 “分区”和“滑动窗口”这两个术语听起来都适用于我的任务,但是我不是专家。因此,我将更深入地解释该问题并添加到问题中: FatherList是我从文件中获取的一个多级numpy.array。函数必须找到序列的平均值(用户提供