【发布时间】:2018-11-09 22:00:06
【问题描述】:
b_list=["some data"]
s_list=["some data"]
approved_b=[list of "b_list" elements that are approved]
approved_s=[list of "s_list" elements that are approved]
br, sr=[],[]
for b,s in zip(b_list, s_list):
if (b,s) in zip(approved_b, approved_s):
br.append(b)
sr.append(s)
问题是这样的:
如果你有alpha,它需要识别alpha等价于alpha 1、alpha 100、zoom alpha等,这可以通过x in y来完成。
但是,我需要能够同时(一次两次)完成整个 zip。
例子:
b_list=['alpha', 'beta time', 'gamma', 'ohm']
s_list=['gary', 'paul', 'lime', 'apple']
approved_b=['alpha 1', 'beta', 'gamma 2', 'ohm']
approved_s=['gary time', 'zoom', 'lime time', 'appler']
结果需要是:
br=['alpha','gamma']
sr=['gary','lime']
所以基本上,当它通过验证时,它需要检查(b_list, s_list) 中的(b,s) 对是否与(approved_b,approved_s) 匹配,并且b 可以是approved_b 的子字符串,approved_b 可以是b 的子字符串同时,s 可以是approved_s 的子字符串,approved_s 可以是s 的子字符串。
【问题讨论】:
-
您的要求并不完全清楚。但是,如果您可以使用仅处理
b值的x in y向我们展示您的代码,那么应该很容易向您展示如何更改它以处理zip(b, s)值。 -
为什么
ohm, apple没有出现在输出中,因为"ohm" in "ohm" and "apple" in "appler" == True?注意:b in approved_b and approved_b in b => b == approved_b- 我不确定你的意思。 -
此时,我认为“apple”中的“apple”不应该返回true。所以它应该只在“apple”+一些其他东西(如“apple SDGSD”)时返回true。但无论哪种方式都可以。
-
b= alpha,approved_b= alpha 1 因此,approved_b 中的 b 将返回 true。
-
但我需要检查 zip 的两个内容。另外,我需要能够检查 b 中的approved_b 是否也返回true(或不返回)
标签: python python-3.x python-2.7 zip substring