- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上,我必须使用函数以更改 n 个连续元素的方式修改列表。但是,问题是我无法返回列表(该函数实际上无法返回任何内容),因此据我了解,我无法创建新列表,因为这不会更改我通过函数参数获得的列表。
我用这样的 while 循环完成了它:
while i < length:
my_list[index+i] = element
i += 1
我想知道是否有任何其他解决方案,类似于列表理解或类似的解决方案。我是 Python 的新手,所以这纯粹是为了探索目的。
最佳答案
您可以为此使用切片赋值:
my_list[index:index + length] = (e for _ in range(length)) # or (e,) * length
上面的代码将 [index, index + length)
区间内的 my_list
元素替换为右侧可迭代的元素任务。请注意,切片的长度和可迭代对象的长度必须匹配。否则,一些元素将被删除(如果 iterable 更短)或添加更多元素(如果 iterable 更长)。
例子:
In [14]: my_list = [1, 2, 3, 4, 5, 6]
In [15]: index, length, element = 1, 3, 0
In [16]: my_list[index:index + length] = (element for _ in range(length))
In [17]: my_list
Out[17]: [1, 0, 0, 0, 5, 6]
关于python - 如何在不创建新元素的情况下更改列表中的 n 个连续元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40318519/
我正在用 Java 编写代码,并且使用 Vaadin 8 扩展。 我有一个 Vaadin 组合盒,效果很好。但我不仅想从组合框中选择项目,还想选择书面输入。这意味着我想使用组合框作为下拉菜单以及文本编
我正在尝试将 AJAX 添加到 JQuery ListView 中并呈黄色闪烁,但我似乎无法使其正常工作。谁能指出我正确的方向? http://jsfiddle.net/zFybm/ 最佳答案 根据
我有这个样式表: .pixel{ position: absolute; height: 10px; width: 10px; background-color: #f
这是我用来将新行推送到容器的一行代码: this.$el.append(new ItemView(item).render().el); 其中item是Backbone.js model,render
我正在尝试在 anguar.js 中制作一些测试应用程序,但遇到了问题。我的 js 文件包含: live = angular.module('live',[]); live.controller('p
如何绑定(bind)页面加载后创建的新元素? 我有这样的东西 system = function() { this.hello = function() { alert
html5 新元素(页眉、导航、页脚等)在 IE 中不工作 最佳答案 您需要包含 HTML5 shiv 脚本以允许在旧版 IE 浏览器中设置 HTML5 元素的样式:http://code.googl
我是一名优秀的程序员,十分优秀!