【问题标题】:Return subsequences of the first list返回第一个列表的子序列
【发布时间】:2018-03-16 03:47:19
【问题描述】:

创建一个名为 is _subsequence 的函数,它接受两个参数,都是整数列表,并返回第二个列表是否是第一个列表的子序列。要使第二个列表成为子序列,其中的每个值都必须以相同的顺序出现在第一个列表中。值之间可能存在差距。

我正在努力根据第一个列表的顺序返回值,这是我尝试的方法:

def is_subsequence(list1, list2):
if list1 == list2:
    return True
else:
    for i in range(len(list1)):
        if list2 in list1:
    return False    

【问题讨论】:

标签: python


【解决方案1】:

由于您没有提供任何示例数据以及您想要返回的示例,这是我根据可用信息所能想到的最好的。这是python 2代码。如果你需要 python 3,你必须自己适应它。

#!python2

lst1 = [['a', '1'], ['b', '2'], ['c', '3'], ['d', '4'], ['e', '5']]
lst2 = [['b', '2'], ['d', '4'], ['f', '6'], ['h', '8'], ['j', '10']]

# comparing by index 0 and index 1, prints lst1 elements that are in lst2
def is_seq(lst1, lst2):
    for i in lst1:
        if any(i[0] and i[1] in sublst for sublst in lst2):
            print i

print is_seq(lst1, lst2)

'''
['b', '2']
['d', '4']
'''

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 2022-08-12
    • 2011-04-08
    • 1970-01-01
    • 2022-06-15
    相关资源
    最近更新 更多