我之前的帖子引起了很多混乱,其中充斥着与我的问题无关的答案。 (我的错是没有澄清事情)我标记了该帖子,这是新帖子。
所以基本上我想做一个单词的连接。
EG1
input [jason, sonny, nyorth]
output [jason, sonny, nyorth, jasonnyorth]
EG2
Sample input: [aw, was,poq, qo, soo]
Output [aw, was, poq, qo, soo, awasoo, poqo]
EG3
input: `[keyboard, ardjimmy]
output: `[keyboard, ardjimmy, keyboardjimmy]
我想得到的输出
['jimmy', 'myolita']
jimmyolita
['jimmy', 'myolita', 'jimmyolita']
['myolita', 'jimmy']
jimmyolita
['myolita', 'jimmy', 'jimmyolita']
我知道这是一个双重 for 循环,但我只是不断收到超级奇怪的东西。我想让我的帖子保持简单,所以我不会发布我的尝试 S=。顺便说一句,我也不喜欢我做“检查”和“maxNum”的方式,我有一种感觉,它并没有涵盖所有情况,并且在某些特定情况下给了我奇怪的输出。我更喜欢在 for 循环中执行此操作,因为还有其他部分问题未在此处列出。一个例子是当存在无限情况时:
[abc, bca] -> [abc, ca, abca] -> [abc, ca, abca, abcabc] -> it will keep going.
testing = ["jimmy", "myolita"]
testing1 = ["myolita", "jimmy"]
def frags(strings):
check = 1
maxNum = 1
for i in range(0,len(strings[1])):
if strings[0].find(strings[1][:i]) > maxNum:
check = 0
maxNum = strings[0].find(strings[1][:i])
if check == 0:
toReturn = strings[0][:maxNum] + strings[1]
strings.append(toReturn)
else:
toReturn = "no match"
return toReturn
print(testing)
print(frags(testing))
print(testing)
print(" ")
print(testing1)
print(frags(testing1))
print(testing1)