账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python 列表根据规则挑选元素问题
    • 2020-01-01 00:00
    • 11
    48
    0

    我有一个list如下结构:
    L =["ticket1","ticket2","spec1","spec2",
    "ticket3","ticket4","spec3",
    "ticket5","spec4","spec5",
    "ticket6","spec6",
    "ticket8","ticket9",
    "ticket10","ticket11","spec7","spec8",
    "ticket10","ticket11","ticket12","spec9",
    "ticket14","spec10",
    "ticket15","ticket16","ticket17","ticket18","spec11",
    "ticket19","ticket20","spec12",
    "ticket21","spec13","spec14",
    "ticket22"]

    想要挑出来后面没有跟着spec的ticket,具体规则如下:
    1.如果连续两个ticket后面跟着连续两个spec,那么这两个ticket算有spec,如ticket1,ticket2;ticket10,ticket11.

    1. 如果连续的一个ticket跟着一个spec1,那么这个这个ticket也算有spec,比如ticket6,ticket14

    3.如果一个ticket后面跟着一个或者连续多个spec,那么这个ticket也算有spec,如ticket21;

    1. 如果连续两个或者多个ticket后面只有一个spec,那么不知道这个spec分配给谁,就全部都pop出来,并且加上spec的名字,比如ticket3, ticket4后面跟着一个spec3,结果就是ticket3|spec3, ticket4|spec3.

    最后的输出如下:
    S =["ticket3|spec3","ticket4|spec3",
    "ticket8","ticket9",
    "ticket10|spec9","ticket11|spec9","ticket12|spec9",
    "ticket15|spec11","ticket16|spec11","ticket17|spec11","ticket18|spec11",
    "ticket19|spec12","ticket20|spec12",
    "ticket22"]

    列表里面的信息是唯一的信息,请教各位大神有什么方法可以实现这样的挑选。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 夏未凉♬ 普通会员 1楼

      在Python中,我们可以使用列表推导式来根据规则挑选元素。列表推导式是一种简洁、高效的编程方法,它允许我们在一行代码中完成列表操作。

      下面是一个例子,我们有一个列表,它包含了从1到10的所有整数,现在我们想要找出这个列表中所有的偶数:

      python numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even_numbers = [num for num in numbers if num % 2 == 0] print(even_numbers) # 输出:[2, 4, 6, 8, 10]

      在这个例子中,我们首先定义了一个包含整数的列表。然后,我们使用列表推导式来筛选出所有偶数。列表推导式的基本语法是:[expression for item in iterable if condition]。在这个例子中,expression是我们的条件,item是列表中的每个元素,iterable是我们的可迭代对象(在这里是列表)。condition是我们的筛选条件。

      在我们的例子中,expressionnum % 2 == 0,这表示只要num能够被2整除,那么它就是偶数。itemnumiterablenumbers。所以,expression的结果是Trueitem的结果是numiterable的结果是numbers。因此,我们使用itemiterable来创建一个新的列表,其中只包含所有偶数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部