如何比较输入[0]和输入[1]以查看它们是否相似?
我正在做这个小python项目,你输入你想输入多少次迭代(两个集合),并检查每对是否相似。如何比较输入[0]和输入[1]以查看它们是否相似?
inputs = []
iterations = int(input())
loop_counter = 0
printNum = 0
while loop_counter<iterations*2:
currentInput = input()
inputs.append(currentInput)
loop_counter += 1
print(inputs[printNum])
printNum+=1
所以,我想是这样的:
if(inputs[0] similar inputs[1]): #code here
如果类似的要检查它们是否相等
你一个简单地做它用:
if inputs[0]==inputs[1]:
#your code
对于您可以按照此相似度商数:
set1 = set(inputs[0].split(' '))
set2 = set(inputs[1].split(' '))
if set1 == set2:
#your code
比较“本兄弟”和“奔伴侣”
i1= inputs[0].split()
i2 = inputs[1].split()
for ii in i1:
if ii in i2:
print("test!")
问题在于它们都需要相同。例如,如果输入[0] ==“mt bra”和输入[1] ==“bra mt”,我希望这两个比较,它应该返回相似。 –
在这里,当你分割一个字符串列表并将它们转换为字符串时,你会得到'TypeError:unhashable type:'list'' error! –
为什么你必须将其转换回字符串?输入[0]和输入[1]具有原始字符串 – Aditi
基本上可以排序的分裂字符串(由空间分割 - 默认的行为),然后比较它们!
sorted(input[0].split())==sorted(input[1].split())
例,
>>> input=['know it','it know']
>>> sorted(input[0].split())==sorted(input[1].split())
True
编码快乐!
只有单词会被移动或什么?我的意思是,在你分享Aditi答案评论的例子中,只有这些词语发生了变化。我有没有得到那个权利? –
“相似”是什么意思?请在你的问题的正文中解释。 –