【发布时间】:2022-11-16 23:14:48
【问题描述】:
假设我有两个简单的字符串列表:
a = ["today", "I", "want", "to", "eat", "some", "cake."]
b = ["to", "da", "y", "I", "wa", "nt", "to", "ea", "t", "some", "ca", "ke", "."]
在列表b 中,列表a 的某些字符串(不是全部)被拆分为多个子字符串。请注意,与a 中的字符串相对应的b 中的子字符串是相邻的,并且顺序相同,如上例所示。
我想获得一个列表 c,其中 b 中对应于 a 中单个字符串的子字符串放在一个子列表中:
c = [["to", "da", "y"], ["I"], ["wa", "nt"], ["to"], ["ea", "t"], ["some"], ["ca", "ke", "."]]
不幸的是,我没有任何代码可以分享,因为我不知道如何解决这个问题。
谢谢!
【问题讨论】:
-
你说“在列表
b中,列表a的一些字符串被拆分成多个子字符串。”是一些字符串还是所有字符串?它们在b中的顺序与在a中的顺序相同吗? -
迭代
a中的单词对于每个单词测试,使用word.startswith()与b(另一个循环)的每个元素进行比较。这是一个很好的起点。然后你应该考虑如何通过删除前缀来获得完整的答案并重复这个过程直到重建一个完整的单词。 -
是否所有的子串都相邻b?
-
是的,子串是相邻的,是的,它们的顺序相同