使用一系列角度创建循环列表 python

2023-11-30

我有一个列表列表,其中包含角度集的下限和上限

就像是

[[1,22],[2,24]...[359,15],[360,21]]

总共360个元素

现在我想检查从 1 到 360 的每个角度,列表中包含该角度的元素

我正在考虑使用下限和上限来创建列表的所有元素range or np.arange(lower,upper)并检查角度是否包含在内,但是np.arange当 lower 高于 upper 时生成空列表

for i in range(1,361):
    sel=[]
    for coe in coef:
        if i in range(coe[0],coe[1]):
            sel.append(coe)

我也尝试过itertools and cycle但我不知道如何在这种情况下应用它


执行此操作的标准方法是使用模数。这个答案sschuberth 展示了如何在 C/C++ 中执行此操作。

这是一个Python实现和测试。 Python 中的代码更简单,因为在 Python 中a % b总是有相同的符号b.

测试代码以 60 为步长循环遍历从 0 到 360 度的所有角度对,对于a and b, 测试所有角度x从 0 到 360 度,步长为 30。扇区起始于a并扫过至b。因此扇区 (60, 120) 包含 60°,但 (120, 60) 包含 300°。

If x位于其添加到的扇区(包括端点)内result list.

def in_angle_interval(x, a, b):
    return (x - a) % 360 <= (b - a) % 360

# test 

for a in range(0, 420, 60):
    for b in range(0, 420, 60):
        result = [x for x in range(0, 390, 30) if in_angle_interval(x, a, b)]
        print('{:3}-{:3} {}'.format(a, b, result))

output

  0-  0 [0, 360]
  0- 60 [0, 30, 60, 360]
  0-120 [0, 30, 60, 90, 120, 360]
  0-180 [0, 30, 60, 90, 120, 150, 180, 360]
  0-240 [0, 30, 60, 90, 120, 150, 180, 210, 240, 360]
  0-300 [0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 360]
  0-360 [0, 360]
 60-  0 [0, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360]
 60- 60 [60]
 60-120 [60, 90, 120]
 60-180 [60, 90, 120, 150, 180]
 60-240 [60, 90, 120, 150, 180, 210, 240]
 60-300 [60, 90, 120, 150, 180, 210, 240, 270, 300]
 60-360 [0, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360]
120-  0 [0, 120, 150, 180, 210, 240, 270, 300, 330, 360]
120- 60 [0, 30, 60, 120, 150, 180, 210, 240, 270, 300, 330, 360]
120-120 [120]
120-180 [120, 150, 180]
120-240 [120, 150, 180, 210, 240]
120-300 [120, 150, 180, 210, 240, 270, 300]
120-360 [0, 120, 150, 180, 210, 240, 270, 300, 330, 360]
180-  0 [0, 180, 210, 240, 270, 300, 330, 360]
180- 60 [0, 30, 60, 180, 210, 240, 270, 300, 330, 360]
180-120 [0, 30, 60, 90, 120, 180, 210, 240, 270, 300, 330, 360]
180-180 [180]
180-240 [180, 210, 240]
180-300 [180, 210, 240, 270, 300]
180-360 [0, 180, 210, 240, 270, 300, 330, 360]
240-  0 [0, 240, 270, 300, 330, 360]
240- 60 [0, 30, 60, 240, 270, 300, 330, 360]
240-120 [0, 30, 60, 90, 120, 240, 270, 300, 330, 360]
240-180 [0, 30, 60, 90, 120, 150, 180, 240, 270, 300, 330, 360]
240-240 [240]
240-300 [240, 270, 300]
240-360 [0, 240, 270, 300, 330, 360]
300-  0 [0, 300, 330, 360]
300- 60 [0, 30, 60, 300, 330, 360]
300-120 [0, 30, 60, 90, 120, 300, 330, 360]
300-180 [0, 30, 60, 90, 120, 150, 180, 300, 330, 360]
300-240 [0, 30, 60, 90, 120, 150, 180, 210, 240, 300, 330, 360]
300-300 [300]
300-360 [0, 300, 330, 360]
360-  0 [0, 360]
360- 60 [0, 30, 60, 360]
360-120 [0, 30, 60, 90, 120, 360]
360-180 [0, 30, 60, 90, 120, 150, 180, 360]
360-240 [0, 30, 60, 90, 120, 150, 180, 210, 240, 360]
360-300 [0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 360]
360-360 [0, 360]

这是使用问题中的数据进行的测试。

coef = [[1,22], [2,24], [359,15], [360,21]]
print(coef)
for x in range(0, 361):
    sel = [coe for coe in coef if in_angle_interval(x, coe[0], coe[1])]
    if sel:
        print('{:3} {}'.format(x, sel))

output

[[1, 22], [2, 24], [359, 15], [360, 21]]
  0 [[359, 15], [360, 21]]
  1 [[1, 22], [359, 15], [360, 21]]
  2 [[1, 22], [2, 24], [359, 15], [360, 21]]
  3 [[1, 22], [2, 24], [359, 15], [360, 21]]
  4 [[1, 22], [2, 24], [359, 15], [360, 21]]
  5 [[1, 22], [2, 24], [359, 15], [360, 21]]
  6 [[1, 22], [2, 24], [359, 15], [360, 21]]
  7 [[1, 22], [2, 24], [359, 15], [360, 21]]
  8 [[1, 22], [2, 24], [359, 15], [360, 21]]
  9 [[1, 22], [2, 24], [359, 15], [360, 21]]
 10 [[1, 22], [2, 24], [359, 15], [360, 21]]
 11 [[1, 22], [2, 24], [359, 15], [360, 21]]
 12 [[1, 22], [2, 24], [359, 15], [360, 21]]
 13 [[1, 22], [2, 24], [359, 15], [360, 21]]
 14 [[1, 22], [2, 24], [359, 15], [360, 21]]
 15 [[1, 22], [2, 24], [359, 15], [360, 21]]
 16 [[1, 22], [2, 24], [360, 21]]
 17 [[1, 22], [2, 24], [360, 21]]
 18 [[1, 22], [2, 24], [360, 21]]
 19 [[1, 22], [2, 24], [360, 21]]
 20 [[1, 22], [2, 24], [360, 21]]
 21 [[1, 22], [2, 24], [360, 21]]
 22 [[1, 22], [2, 24]]
 23 [[2, 24]]
 24 [[2, 24]]
359 [[359, 15]]
360 [[359, 15], [360, 21]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用一系列角度创建循环列表 python 的相关文章

  • Pytorch - 推断线性层 in_features

    我正在构建一个玩具模型来获取一些图像并进行分类 我的模型看起来像 conv2d gt pool gt conv2d gt linear gt linear 我的问题是 当我们创建模型时 我们必须计算第一个线性层的大小in features基
  • 在 Django 中使用 prefetch_lated 连接 ManyToMany 字段

    我可能遗漏了一些明显的东西 但我在连接 ManyToMany 字段以在 Django 应用程序中工作时遇到问题 我有两个模型 class Area models Model name CharField class Role models
  • Json.dump 失败并显示“必须是 unicode,而不是 str”TypeError

    我有一个 json 文件 其中恰好有大量中文和日文 以及其他语言 字符 我将其加载到我的 python 2 7 脚本中使用io open如下 with io open multiIdName json encoding utf 8 as j
  • Huggingface 变形金刚模块未被 anaconda 识别

    我正在使用 Anaconda python 3 7 Windows 10 我尝试通过安装变压器https huggingface co transformers https huggingface co transformers 在我的环境
  • TCP打孔问题

    我尝试使用 Python 3 中概述的原则为防火墙编写一个基本的 TCP 打孔器本文 http www bford info pub net p2pnat index html 不过 我无法连接任何东西 这是代码 usr bin pytho
  • python中嵌套字典值的总和

    我有一本这样的字典 data 11L a 2 b 1 a 2 b 3 22L a 3 b 2 a 2 b 5 a 4 b 2 a 1 b 5 a 1 b 0 33L a 1 b 2 a 3 b 5 a 5 b 2 a 1 b 3 a 1 b
  • 使用pip安装pylibmc时出错

    您好 当我尝试使用 pip 在 OSX Lion 上安装 pylibmc 时 出现以下错误 pylibmcmodule h 42 10 fatal error libmemcached memcached h file not found
  • Tensorflow 训练期间 GPU 使用率非常低

    我正在尝试为 10 类图像分类任务训练一个简单的多层感知器 这是 Udacity 深度学习课程作业的一部分 更准确地说 任务是对各种字体呈现的字母进行分类 数据集称为 notMNIST 我最终得到的代码看起来相当简单 但无论如何我在训练期间
  • 如何将嵌套的Python字典转换为简单的命名空间?

    假设我有一个深度为 N 的嵌套字典 如何将每个内部嵌套字典转换为简单的命名空间 example input key0a test key0b key1a key2a keyNx key2b test key1b test example o
  • Django Rest Framework 序列化器中的聚合(和其他带注释的)字段

    我正在尝试找出添加带注释字段的最佳方法 例如将任何聚合 计算 字段添加到 DRF 模型 序列化器 我的用例只是一种情况 端点返回的字段未存储在数据库中 而是从数据库计算得出 让我们看下面的例子 模型 py class IceCreamCom
  • 如何使直方图列的宽度都相同

    我在操作直方图时遇到了一些麻烦 我有一个包含两列的 df 我将它们绘制为堆叠直方图 我将它们放入特定的垃圾箱中 请参阅下面的代码 但我想在最后制作一个大垃圾箱 4000 10000 但是 默认情况下 大垃圾箱的列宽很大 有没有办法让这个大垃
  • python:UnboundLocalError:赋值前引用的局部变量“open”[重复]

    这个问题在这里已经有答案了 def read lines readFileName readfile txt f open readFileName r contents f read and so on read lines 当我运行这个
  • 从网站上抓取数字和详细信息的数据

    我想从网站上抓取联系电话以及快递服务的相应详细信息 我无法从所有快递服务中获取联系电话和其他详细信息 例如姓名地址和评级 我分析的数据位于脚本标签中 请提出修复此问题的建议 import requests import pandas as
  • 自适应支付 API 错误 580001

    我正在 python 中向 paypal 自适应支付 API 发出 PAY 请求 并收到通用错误 id 580001 没有其他信息 headers API credentials for the API caller business ac
  • 模拟类:Mock() 还是 patch()?

    我在用mock http www voidspace org uk python mock index html使用Python 想知道这两种方法中哪一种更好 阅读 更Pythonic 方法一 只需创建一个模拟对象并使用它 代码如下 def
  • 收到“/:未找到事件。”使用 PyCharm 远程调试器时

    当我使用 PyCharm 通过 ssh 进行远程调试时tcsh shell 服务器 很多时候它停止工作 并显示 未找到事件 更具体地说 我在 pycharm 调试控制台中遇到以下内容 ssh username hostserver 22 p
  • pandas-更改重采样时间序列的开始和结束日期

    我有一个时间序列 我将其重新采样到这个数据框中df 我的数据是从6月6日到6月28日 它希望将数据从6月1日延长到6月30日 计数列仅在较长时间内具有 0 值 而我的实际值是从 6 日到 28 日 Out 123 count Timesta
  • Python 中的颜色处理

    对于我的聚类 GUI 我目前对聚类使用随机颜色 因为我事先不知道最终会得到多少个聚类 在 Python 中 这看起来像 import random def randomColor return random random random ra
  • Pandas:按日历周分组,然后绘制真实日期时间的分组条形图

    EDIT 我找到了一个非常好的解决方案并将其发布在下面作为答案 结果将如下所示 您可以为此问题生成一些示例数据 codes list ABCDEFGH dates pd Series pd date range 2013 11 01 201
  • python 相当于 sed

    有没有一种方法 无需双循环即可完成以下 sed 命令的操作 Input Time Banana spinach turkey sed i Banana s Toothpaste file Output Time BananaToothpas

随机推荐

  • 基本 wxWidgets 定时器

    作为 wxWidgets 的新手 我需要一些如何让 wxTimer 工作的示例代码 参考资料提供了 3 种使用方法 但不包含其中任何一种的示例代码 最理想的情况是 我想让方法 2 发挥作用 来自samples widgets gauge c
  • 计算PostgreSQL中批量查询影响的行数

    首先 是的 我已经阅读了 DO 语句的文档 http www postgresql org docs 9 1 static sql do html 所以我的问题是 我需要执行一些包含 UPDATE 语句的动态代码块并计算所有受影响的行数 我
  • UIImageView 中的 UIImage 大小

    我有一些UIImage并将其显示在UIImageView 我需要使用UIViewContentModeScaleAspectFit内容模式 这是简单的代码 UIImageView imageView UIImageView alloc in
  • Guice:根据谁获得它来注入不同的实现?

    我有两个第三方类 它们都实现了Authorizer界面 我需要为每个注入不同的实现 如果我做一个 Provides 我怎样才能实现它 以便它提供运行时所需的实现 提供者不知道是谁要求注射 理论上我可以使用 Named 但我无法修改正在注入的
  • C# 数组子集获取

    我有一个字节数组 我想确定这个字节数组的内容是否作为连续序列存在于另一个更大的数组中 执行此操作的最简单方法是什么 天真的方法是 public static bool IsSubsetOf byte set byte subset for
  • iPhone 应用程序需要启动画面吗?

    这是我第一次提交我的应用程序 我从文档中知道应该指定启动图像 但我创建了自己的启动视图 带有 uilabel 和 uiimageview 的视图控制器 并且效果很好 但如果我不制作发布图片 我担心不被接受 有人可以给我一些建议吗 苹果引用
  • Firefox 扩展程序不显示图标

    我已经实现了示例 mozilla firefox 扩展来在工具栏上显示 firefox 图标 操作按钮 它将打开 http www mozilla org 它在 jpm run 中工作正常 然后我使用 jpm xpi 创建了该包并创建了 x
  • 如何实现-在__del__上写入文件?

    我正在尝试对类 obj 销毁进行一些活动 如何实现文件打开 del 功能 我使用的是Python 3 4 class iam object def init self print I m born def del self f open m
  • 如何在实体框架中查找具有指定日期范围列表的日期?

    我有一个我创建的类的 IEnumerable 来包含日期范围 该类看起来像这样 public class Range
  • 如何使用 PHP 中的 API 在 facebook 上发布墙?

    我想使用 facebook API 在 facebook 墙上发布分数 确保您有 Facebook SDKhttps github com facebook php sdk 启动 Facebook API facebook new Face
  • JVector Map如何在标记悬停时获得动态图像

    嗨 我正在使用JVector Map我知道我的问题可能以前被问过 而且我也发现了这篇文章jvectormap 标记标签图像也是 但是我的问题还是没有解决 我想在工具提示中显示每个标记的图片 当鼠标悬停时它会显示该图片 这是我的代码 worl
  • 需要 Gradle 2.1 迁移到 Gradle 包装器并同步项目

    我正在尝试建立u202杰克 沃顿 Jake Wharton 的 Android 项目 我的 android studio 无法构建该项目 显示的错误如下 Gradle 2 1 is required Migrate to Gradle wr
  • mySQL 中奇怪的 Ascii 字符。需要查询才能删除

    我正在尝试找出如何从 mySQL 数据库中删除该字符 它是由其他没有做得很好的人为我转换的 表是 ps product lang 字段是描述和描述短 我认为我的查询应该是 更新 ps product lang 设置描述 替换 描述 但是我应
  • Mapbox:libc++abi.dylib:以 NSException 类型的未捕获异常终止(lldb)

    我在 Android 上工作时一直在实现 Mapbox 通过 CocoaPods 安装后在 iOS 上遇到错误 我得到了framework not found Mapbox但在以下答案之后目标覆盖 FRAMEWORK SEARCH PATH
  • R 中的直方图 - x 轴未正确居中

    我有一个列表中的直方图d我只需输入即可创建的值 hist d And this is what I get 我怎样才能使x轴一直向左延伸到该图的原点 左下角 为什么会在 0 4处截止 宏的回答是迄今为止最简单的路线 但是 如果您确实对默认行
  • 在 Xamarin.iOS 中将选项卡移动到顶部时删除底部的空白

    我需要根据 Youtube 的最新 UI 创建选项卡式菜单 并在 Android 和 iOS 上显示顶部菜单 Android 上的默认行为是在顶部显示菜单 这样就可以正常工作 在 iOS 上 我创建了一个自定义渲染 并使用以下代码将栏的位置
  • Java、C、PHP 的自动补全库?

    我正在为我的文本编辑器构建一个开源自动完成插件 因为它还没有 是否有我可以使用的自动完成库 即某种包含 Java C PHP 等常用函数的数据文件 我已经构建了插件 但我并不特别想浏览所有 Java 文档并手写插件将引用的实际库 我只是在寻
  • 如何让 Liferay 6.1.0 在找不到资源时始终重定向到 404 页面?

    我为我拥有的 Liferay 网站创建了一个简单的钩子 它包含一个覆盖默认 Liferay 404 的 404 jsp 如果我输入特定页面 它可以正常工作 例如 即将http localhost 8080 joky jsp throws 严
  • AspectJ 和 CDI

    我正在尝试找出一种将 bean 注入某个方面的方法 I mean public class Greeter public String greet String name public aspect GreeterAspect Inject
  • 使用一系列角度创建循环列表 python

    我有一个列表列表 其中包含角度集的下限和上限 就像是 1 22 2 24 359 15 360 21 总共360个元素 现在我想检查从 1 到 360 的每个角度 列表中包含该角度的元素 我正在考虑使用下限和上限来创建列表的所有元素rang