3 回答

TA貢獻1801條經驗 獲得超16個贊
可以定義自己的字符串比較函數,將字符一一遍歷并進行比較,只要金色字符不是“Don't Care”值即可:
def myStringCompare(golden, measured, dont_care="X"):
return (
(len(golden) == len(measured)) and
all(g == m for g, m in zip(golden, measured) if g != dont_care)
)
然后在列表理解中使用這個函數:
print([myStringCompare(a, b) for a, b in zip(Golden, Measured)])
#[True, True, True, True, True, True, True, True, True]

TA貢獻1847條經驗 獲得超7個贊
您可以使用
[all(char1 == 'X' or char1 == char2 for char1, char2 in zip(str1, str2)) for str1, str2 in zip(list1, list2)]

TA貢獻1111條經驗 獲得超0個贊
我已經能夠提出以下列表理解:
result_list = [
all(
[
symbol == b[list_index][symbol_index]
for symbol_index, symbol in enumerate(item)
if symbol != "X"
]
)
for list_index, item in enumerate(a)
]
> [True, True, True, True, True, True, True, True, True]
添加回答
舉報