Python:以恒定长度移动列表中的元素

2024-02-07

我正在寻找一种优雅的方法来编写一个简单的函数,该函数会将列表的元素移动给定数量的位置,同时保持列表的长度相同并用默认值填充空位置。这将是该函数的文档字符串:

def shift_list(l, shift, empty=0):
    """
    Shifts the elements of a list **l** of **shift** positions,
    padding new items with **empty**::

        >>> l = [0, 1, 4, 5, 7, 0]
        >>> shift_list(l, 3)
        [0, 0, 0, 0, 1, 4]
        >>> shift_list(l, -3)
        [5, 7, 0, 0, 0, 0]
        >>> shift_list(l, -8)
        [0, 0, 0, 0, 0, 0]
    """
    pass

你将如何进行?非常感谢任何帮助!


我会使用切片分配:

def shift_list(l, shift, empty=0):
    src_index = max(-shift, 0)
    dst_index = max(shift, 0)
    length = max(len(l) - abs(shift), 0)
    new_l = [empty] * len(l)
    new_l[dst_index:dst_index + length] = l[src_index:src_index + length]
    return new_l
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:以恒定长度移动列表中的元素 的相关文章

随机推荐

  • 如何在远程服务器上启动进程、断开连接,然后收集输出?

    我正在用 python 编写自动化代码来测试网络应用程序的行为 因此 我的代码需要能够在网络中的服务器上启动进程 脚本 例如 tcpdump 或 python 脚本 断开连接 运行其他进程 然后返回并关闭 评估之前启动的进程 我的网络是 W
  • 使用 Node.js 将 HTML 转为 PDF

    我正在寻找可打印的pdf我的网站网页的版本 就像是express render 仅将页面呈现为pdf 有谁知道有一个节点模块可以做到这一点 如果没有 您将如何实施 我见过一些方法谈论使用无头浏览器 例如phantom js 但不确定流程是什
  • 为什么这个facet_grid不删除列?

    你好 有这个数据集 tdat structure list Condition structure c 1L 3L 2L 1L 3L 2L 1L 3L 2L 1L 3L 2L 1L 3L 2L 1L 3L 2L 1L 3L 2L 1L 3L
  • NHibernate Linq 预加载与通用存储库

    目前 我们为所有实体使用通用存储库 该存储库公开 IQueryable 使用 NH3 linq 支持 然后我们的服务层使用该通用存储库来构建特定查询 我现在需要急切地加载一个关联 有什么方法可以公开 IQueryable 并传入可选的获取表
  • 如何从 iText 7 中的 pdf 页面获取文本位置

    我想找到 PDF 页面中的文本位置 我尝试过的是使用简单的文本提取策略通过PDF文本提取器获取PDF页面中的文本 我正在循环每个单词来检查我的单词是否存在 使用以下方法分割单词 var Words pdftextextractor Spli
  • 尝试在 Rails 3 中创建具有 habtm 关系的范围

    我正在尝试对活动记录进行基本搜索 但由于 has and belongs to many 关系而遇到麻烦 以下是我创建的记录和范围 Class Section lt lt ActiveRecord Base has and belongs
  • 将所有 .html 扩展名重定向到 .php

    我想更新网站上的所有页面以使用包含页脚和页眉 所以我必须将很多 html页面更改为 php 所以我正在寻找一种方法将所有以 html 结尾的页面重定向到相同的 url 但以 php 结尾 RewriteEngine On RewriteRu
  • UITableView 重新加载部分

    我只想重新加载一部分而不是整个表格 有没有什么方法UITableView tableView reloadData 用于加载全表 我想知道如何仅加载一个部分 因为表中有大量行 reloadSections 方法让我烦恼 因为我必须构造一些对
  • 在性能关键代码中,我应该更喜欢 C# 中的变量还是数组的多重间接寻址?

    在某些性能关键的程序 单线程 中 如果我有原始类型的数组 并且需要在循环中多次访问这些数组的相同索引 我应该使用 tmp 变量 还是只是数组上的常量间接寻址会更好 更快 我还可以想象 两者都可能是相同的 在编译时透明地进行了优化 让我们测试
  • PSexec版权输出

    有谁知道 如何禁用运行 PSExec 时出现的 版权标头 每次我运行 psexec 命令时 我都会看到以下消息 PsExec v2 11 Execute processes remotely Copyright C 2001 2014 Ma
  • 语法错误,第 12 行出现意外的“函数”

    我有一个 url 其中包含各种 POST DATA 最后还有一个图像文件 我的示例链接是 http website link com page gf signature signature 565dbca63791e5 87676354 p
  • 在地图视图的可见矩形内显示 MKMapViewAnnotations

    我在路径样式视差表视图标题内显示 MKMapView 为了创建效果 mapView 边界大于用户可见的区域 我需要设置地图视图区域 以便所有地图注释都包含在 MKMapView 的可见矩形内 最好的方法是什么 为了清楚起见编辑 这是一个用例
  • 非托管 C++ 中的 XLL Excel 插件

    我在非托管 C 中进行了一些数学模拟 现在我需要将它们与 Excel 集成 以便可以从 Excel 调用函数并取回值 我不想使用任何 VBA 所以我想我必须实现 XLL 插件 我想使用尽可能少的第三方附加框架 有人能给我指点一个好的教程吗
  • Android 2.1 View的getDrawingCache()方法总是返回null

    我正在使用 Android 2 1 并遇到以下问题 使用 View getDrawingCache 方法始终返回 null getDrawingCache 应该返回一个 Bitmap 它是 View 内容的表示 示例代码 public vo
  • AngularJS:ng-if 不与 ng-click 结合使用?

    给出使用 AngularJS 1 2 rc3 的测试用例 http plnkr co edit MX6otx http plnkr co edit MX6otx 下面重复 1 li ng if toggle1 toggle1 p p li
  • 增加 Java 堆大小

    我正在尝试增加 jvm 的堆大小值 但它不起作用 有人能帮我解决这个极客问题吗 我的配置如下 Windows 7 x64 4 GB i3 CPU When I try something like Xmx2000M I have nothi
  • 在 angular-in-memory-web-api 中执行 PUT 或 POST 的正确方法

    看到this https stackoverflow com questions 42630421 angular2 using post with angular in memory web api但问题没有得到解答 所以又问这个问题 我
  • Javascript:图像对象的 onerror 事件有哪些参数?如何获取与图像相关的错误的更多详细信息?

    我正在用 JavaScript 编写一个应用程序 它应该创建一个新图像 有时会失败 我能够通过附加一个来检测它的时间image onerror事件监听器 问题是 我如何得知发生了什么错误 图像的错误对象带来了哪些参数 到目前为止我才发现 i
  • (C#) 如何按值类型而不是引用类型复制类?

    采取以下代码 using System Collections using System Collections Generic using UnityEngine public class MyClass public int myNum
  • Python:以恒定长度移动列表中的元素

    我正在寻找一种优雅的方法来编写一个简单的函数 该函数会将列表的元素移动给定数量的位置 同时保持列表的长度相同并用默认值填充空位置 这将是该函数的文档字符串 def shift list l shift empty 0 Shifts the