python技巧对照筛选两个字符串列表中的元素

根据一个字符串列表中的元素,筛选另一个字符串列表中的元素,找出符合要求或条件的元素。

例题场景:lst 中是当天已买入或卖出股票的信息,lst1中是同一天后续要买入或卖出的信息,如果lst1中的买入或卖出股票信息在lst中已存在,则不再对其执行交易。

代码如下:

lst = [ "1,buy,300593,btm,2022-03-02 09:30",
        "1,buy,002756,btm,2022-03-03 14:00",
        "1,buy,300813,btm,2022-03-03 14:30",
        "1,buy,300073,btm,2022-03-04 09:30",
        "1,buy,002311,btm,2022-03-04 09:30",
        "1,buy,600885,btm,2022-03-04 09:30",
        "1,buy,603297,btm,2022-03-03 10:00",
        "1,buy,002541,btm,2022-03-04 09:30",
        "1,buy,603786,btm,2022-03-04 09:30",
        "1,buy,600570,btm,2022-03-04 09:30",
        "1,buy,603589,btm,2022-03-04 09:30",
        "1,buy,002810,btm,2022-03-04 09:30",
        "1,buy,300695,btm,2022-03-04 09:30",
        "1,buy,300835,btm,2022-03-03 13:30",
        "1,sel,300837,btm,2022-03-03 13:30",
        "1,buy,600111,btm,2022-03-03 13:00",
        "1,sel,600754,btm,2022-03-02 14:30",
        "1,buy,300790,btm,2022-03-02 13:30",
        "1,buy,300656,btm,2022-03-04 09:30",
        "1,buy,300571,btm,2022-03-03 13:30"]
lst1 =[ "1,buy,300593,btm,2022-03-02 09:30",
        "1,buy,002756,btm,2022-03-03 14:00",
        "1,buy,300813,btm,2022-03-03 14:30",
        "1,buy,603297,btm,2022-03-03 10:00",
        "1,buy,300835,btm,2022-03-03 13:30",
        "1,sel,301837,btm,2022-03-03 13:30",
        "1,buy,600111,btm,2022-03-03 13:00",
        "1,sel,600754,btm,2022-03-02 14:30",
        "1,buy,302790,btm,2022-03-02 13:30"]

today_tradedstocks = [z[2:12] for z in lst] #  if 'buy' in z or 'sel' in z
print(today_tradedstocks)
filter_data = [x for x in lst1 if not any(y in x for y in today_tradedstocks)]

print('\n lst len:',len(lst))
print('\n lst1 len:',len(lst1))
print("\nfilter_data length:", len(filter_data))
print()
print(filter_data) 

运行结果:

['buy,300593', 'buy,002756', 'buy,300813', 'buy,300073', 'buy,002311', 'buy,600885', 'buy,603297', 'buy,002541', 'buy,603786', 'buy,600570', 'buy,603589', 'buy,002810', 'buy,300695', 'buy,300835', 'sel,300837', 'buy,600111', 'sel,600754',
'buy,300790', 'buy,300656', 'buy,300571']

 lst len: 20

 lst1 len: 9

filter_data length: 2

['1,sel,301837,btm,2022-03-03 13:30', '1,buy,302790,btm,2022-03-02 13:30']

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/76386
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 11 日
下一篇 2024 年 7 月 11 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注