【问题标题】:Boolean Array in Python with custom indices带有自定义索引的 Python 中的布尔数组
【发布时间】:2018-07-17 03:49:38
【问题描述】:

我正在尝试创建一个数组,我们称它为 a,每个元素等于 True,有 10 个元素

我还希望能够创建一个自定义索引,以便第一个元素索引为 2,最后一个元素索引为 11。

【问题讨论】:

  • 您可能是指list 对象。在这种情况下,那个(也不是python中称为数组的任何东西)不允许您使用自定义索引。您必须自己实现。
  • 我已经发布了这个问题的解决方案以供将来参考,但由于您是“对所有类型的编程都非常陌生”,我绝对不建议您从 @ 开始987654322@。也许您可以发布您的实际问题并首先解释为什么您需要自定义索引,以便我们可以指导某个方向
  • 我很确定某人的博客上有一个库可以完全实现您的要求,作为演示如何创建一个委托给 listMutableSequence 类,但添加一些额外的功能。不幸的是,我没有链接。有人在 my 博客文章上发布了一个链接,演示了几年前如何创建 MutableSequence,但随后删除了它……但无论如何,自己构建它可能是一个有价值的学习练习,但可能太高级了现在。
  • 假设“数组”是指listtuple,并且创建后不需要插入或删除元素,可以用字典模拟:dictarray = {i+2: array[i] for i in range(len(array))} .这可能不是一个好主意(你最终得到的东西类似于list,但某些功能被破坏,运行速度较慢并且打印出来的效果不佳),但可能值得一试,看看@ 987654330@s 和 dicts 工作。 (不过,您可能希望将其写为显式循环而不是 dict 理解,以确保您理解它。)

标签: python arrays boolean


【解决方案1】:

您可以将数组改为dict

a = {i: True for i in range(2, 12)}
print(a)
print(a[2], a[3], a[11], len(a))

这个输出:

{2: True, 3: True, 4: True, 5: True, 6: True, 7: True, 8: True, 9: True, 10: True, 11: True}
True True True 10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2019-10-29
    • 2021-01-06
    • 2016-07-20
    • 2016-09-08
    • 2018-04-01
    • 2018-05-20
    相关资源
    最近更新 更多