我目前正在进行代码争夺的挑战之一,基本上挑战在于找到两个字符串之间的常见字符数。我想出了下面的解决方案。我已经通过了挑战,但我无法弄清楚为什么我必须两次迭代列表而不是在每种情况下。提前感谢任何解释。
df1.registerTempTable("df1t")
df2.registerTempTable("df2t")
spark.sql("select d1.total - d2.total as difference from df1t as d1 inner
join df2t as d2 on d1.date = d2.date \
and d1.product_id =d2.product_id ").show(truncate = False)
答案 0 :(得分:1)
你只需尝试这个
lis=["abcdef","abcdv"]
match=[i for i in lis[0]if i in lis[1]]
它发出了
[' a',' b',' c',' d']
修改强>
只进行一次检查
>>> a
['abcc', 'abbbc']
>>> check0=list(a[0])
>>> check1=list(a[1])
>>> match=list()
>>> for i in check0:
if i in check1:
check1.remove(i)
match.append(i)
Out Put
[' a',''' c']