gpt4 book ai didi

Python:遍历列表列表中的列以查找回文

转载 作者:太空狗 更新时间:2023-10-30 02:08:07 25 4
gpt4 key购买 nike

这里我有一个单词列表:

[['r', 'o', 't', 'o', 'r'], ['e', 'v', 'e', 'i', 'a'], ['f', 'i', 'n', 'e', 'd'], ['e', 'n', 'e', 't', 'a'], ['r', 'a', 't', 'e', 'r']]

而且我必须显示此列表中的所有回文,它们在行和列中。我已经编码以找到行中的所有回文。但是无法实现在列中查找回文的方法。

到目前为止,这是我的代码:

result_1=""
if len(palindrome)==len_line_str:
for row in range(len(palindrome)):
for horizontal_line in range(len(palindrome[row])):
if ''.join(palindrome[row])==''.join(reversed(palindrome[row])):
result_1=''.join(palindrome[row])+" is a palindrome starting at ["+str(row)+"]["+str(row)+"] and is a row in the table"
print(result_1)

将显示输出:

rotor is a palindrome starting at [0][0] and is a row in the table

其中“转子”是回文。

我需要一种方法来获取以下列中的回文:“引用”、“宗旨”、“雷达”

非常感谢任何帮助。提前致谢!

最佳答案

您可以使用 zip转置您的列表:

>>> t = [['r', 'o', 't', 'o', 'r'], ['e', 'v', 'e', 'i', 'a'], ['f', 'i', 'n', 'e', 'd'], ['e', 'n', 'e', 't', 'a'], ['r', 'a', 't', 'e', 'r']]
[['r', 'o', 't', 'o', 'r'], ['e', 'v', 'e', 'i', 'a'], ['f', 'i', 'n', 'e', 'd'], ['e', 'n', 'e', 't', 'a'], ['r', 'a', 't', 'e', 'r']]
>>> list(zip(*t))
[('r', 'e', 'f', 'e', 'r'), ('o', 'v', 'i', 'n', 'a'), ('t', 'e', 'n', 'e', 't'), ('o', 'i', 'e', 't', 'e'), ('r', 'a', 'd', 'a', 'r')]

您的列现在是行,您可以应用与以前相同的方法。如果你只需要单词,你可以使用列表理解:

>>> rows = [['r', 'o', 't', 'o', 'r'], ['e', 'v', 'e', 'i', 'a'], ['f', 'i', 'n', 'e', 'd'], ['e', 'n', 'e', 't', 'a'], ['r', 'a', 't', 'e', 'r']]
>>> [''.join(row) for row in rows if row[::-1] == row ]
['rotor']
>>> [''.join(column) for column in zip(*rows) if column[::-1] == column ]
['refer', 'tenet', 'radar']

关于Python:遍历列表列表中的列以查找回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45263360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com