如何返回列表中出现的元素数?

卢卡队

对于无关紧要的主题标题,我很抱歉,因为我找不到我遇到的问题的正确名称:

我有以下段 ID:

SIDs = ['11','22','33','44']

的每个元素SID都有 2 个项目,如下所示:

 SID[0] = ['T10','T11']
 SID[1] = ['T20','T21']
 SID[2] = ['T30','T31']
 SID[3] = ['T40','T41']

假设我有以下定义如下的 Segment ID:

SegmentPath = ['11','22','33','11','22','33']

在元素方面,SegmentPath我想构建一个输出项如下:

Used_Path = ['T10', 'T20', 'T31', 'T21', 'T10', 'T20', 'T21']

编辑

如果您注意到,只要按顺序(SIDs其中出现的每个元素SegmentPath都会重复一次但是当它达到 33 时,它使用了,返回的方式是 which 一旦我们到达,我们就用同样的东西来到达11, 2233T3111T21112233

总结如下图:

在此处输入图片说明

然后我返回发生的每个项目的迭代,Used_Path其中应该是以下内容:

Used_Path_items = ['T10', 'T20', 'T21','T31']
iteration = [2, 2, 1, 1]

无论如何在python中做这样的事情吗?如果有人在python中提供一些提示或代码来提供帮助,我很感激。

深停

现在的答案更加复杂。希望这能捕捉到东西。我做了一些假设。(1)我们不会从4411(2)Used_Path您的问题中包含 1 太多元素。

所以我们遵循一条线性路径,如果目的地较晚则前进,否则向后。然后我们只用与我原来的答案相同的方式计算遍历次数。

SIDs = ['11', '22', '33', '44']

SID = [['T10','T11'], 
       ['T20','T21'],
       ['T30','T31'],
       ['T40','T41']
]

SegmentPath = ['11','22','33','11','22','33']

Used_Path = []

for i in range(len(SegmentPath) - 1):
    depart = SIDs.index(SegmentPath[i])
    arrive = SIDs.index(SegmentPath[i+1])
    if arrive > depart:
        for j in range(depart, arrive, 1):
            Used_Path.append(SID[j][0])
    elif arrive < depart:
        for j in range(depart, arrive, -1):
            Used_Path.append(SID[j][1])
print(Used_Path)
print([Used_Path.count(t) for t in sorted(set(Used_Path))])

您可以if arrive > depart使用以下内容进行缩短不太清楚,所以我也会留下原件。

for i in range(len(SegmentPath) - 1):
    depart = SIDs.index(SegmentPath[i])
    arrive = SIDs.index(SegmentPath[i+1])
    dir = 1 if arrive > depart else -1
    for j in range(depart, arrive, dir):
        Used_Path.append(SID[j][-1*dir]
print(Used_Path)
print([Used_Path.count(t) for t in sorted(set(Used_Path))])

如果同一段连续出现两次,此版本将无法正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确定元素在列表中出现的次数?

来自分类Dev

Common Lisp-返回元素的函数在列表中出现n次

来自分类Dev

列表<WebElement>返回错误的元素数量

来自分类Dev

当绘制跟踪列表中出现最多的元素时,如何查找索引最高的元素?

来自分类Dev

序言列表中元素在列表中出现了多少次?

来自分类Dev

如何计算字典列表中出现的值?

来自分类Dev

如何将一个元素数组作为单个列/列表返回?

来自分类Dev

是否保证元素按在DOM中出现的顺序返回?

来自分类Dev

XML:返回序列中出现特定次数的元素

来自分类Dev

C#:获取列表中出现次数最多的元素?

来自分类Dev

通过在python中出现零来选择列表中的元素

来自分类Dev

获取元素在Python中每个子列表中出现的位置

来自分类Dev

每个元素在每个列表中出现一次

来自分类Dev

删除列表中出现在字典中的元素

来自分类Dev

当计数显示内部元素数时,数组中出现未定义的偏移量错误

来自分类Dev

当计数显示内部元素数时,数组中出现未定义的偏移量错误

来自分类Dev

返回值在Erlang列表中出现的次数

来自分类Dev

返回具有相同元素数量的列表

来自分类Dev

如何在Rails JSON API中返回元素数组,而不是单个元素数组?

来自分类Dev

如何防止RealmSwift列表中出现重复项?

来自分类Dev

如何删除列表中出现的指定单词

来自分类Dev

Scala Pairs:如何计算值中出现的次数(数字列表)

来自分类Dev

如何限制Stream API表达式返回的元素数

来自分类Dev

如何在Rails中返回所有元素数组?

来自分类Dev

PostgreSQL-如何获取列列表中的元素数

来自分类Dev

如何限制可放置列表中的元素数量?

来自分类Dev

在python中,如何更改列表的元素数据类型

来自分类Dev

如何填充元素数量由变量决定的元组列表

来自分类Dev

如何限制python列表中的元素数量

Related 相关文章

  1. 1

    如何确定元素在列表中出现的次数?

  2. 2

    Common Lisp-返回元素的函数在列表中出现n次

  3. 3

    列表<WebElement>返回错误的元素数量

  4. 4

    当绘制跟踪列表中出现最多的元素时,如何查找索引最高的元素?

  5. 5

    序言列表中元素在列表中出现了多少次?

  6. 6

    如何计算字典列表中出现的值?

  7. 7

    如何将一个元素数组作为单个列/列表返回?

  8. 8

    是否保证元素按在DOM中出现的顺序返回?

  9. 9

    XML:返回序列中出现特定次数的元素

  10. 10

    C#:获取列表中出现次数最多的元素?

  11. 11

    通过在python中出现零来选择列表中的元素

  12. 12

    获取元素在Python中每个子列表中出现的位置

  13. 13

    每个元素在每个列表中出现一次

  14. 14

    删除列表中出现在字典中的元素

  15. 15

    当计数显示内部元素数时,数组中出现未定义的偏移量错误

  16. 16

    当计数显示内部元素数时,数组中出现未定义的偏移量错误

  17. 17

    返回值在Erlang列表中出现的次数

  18. 18

    返回具有相同元素数量的列表

  19. 19

    如何在Rails JSON API中返回元素数组,而不是单个元素数组?

  20. 20

    如何防止RealmSwift列表中出现重复项?

  21. 21

    如何删除列表中出现的指定单词

  22. 22

    Scala Pairs:如何计算值中出现的次数(数字列表)

  23. 23

    如何限制Stream API表达式返回的元素数

  24. 24

    如何在Rails中返回所有元素数组?

  25. 25

    PostgreSQL-如何获取列列表中的元素数

  26. 26

    如何限制可放置列表中的元素数量?

  27. 27

    在python中,如何更改列表的元素数据类型

  28. 28

    如何填充元素数量由变量决定的元组列表

  29. 29

    如何限制python列表中的元素数量

热门标签

归档