给出一个列表,例如
['table', 'drawer', 'chair', 'reward', 'radar']
如何创建一个函数/for循环,以返回列表中有其相反方向的单词的列表?我试图只包含给定单词的第一个实例
因此,结果将是:
['drawer', 'radar']
而不是
['drawer','reward', 'radar']
到目前为止,我的代码返回后一个结果:
def find_reversals(lst):
emptylst = []
match = []
for word in lst:
new = word[::-1]
emptylst.append(new)
for i in lst:
for j in emptylst:
if i == j:
match.append(i)
print('{}'.format(match))
您可以执行以下操作:
输出
由于它使用一个集合,复杂性为
O(n)
,其中n
是列表中的元素数这是一个没有集合的解决方案,有多个for循环:
您可以使用两个索引来迭代列表,
i
和j
,其中j
从i
开始(只要您希望回文计数)你重复计算的原因是因为你没有跟踪是否发现了什么东西。在本例中,我通过
set
和该单词的排序顺序来跟踪它相关问题 更多 >
编程相关推荐