我第二年参加GCSE计算机科学课程,但我遇到了一个问题。我一直在使用Python编写一个程序,允许用户输入符号和字母对来尝试解码编码的消息。
字母和符号将以[[letter, symbol][letter,symbol]]
格式保存在2D数组中。我的问题是,当用户输入两次字母或符号时,我找不到标记任何事件的方法。
我一直在修补它一段时间,这是我最好的解决方案:
def DUPLICATE(decodeArray):
seen = set()
for item in decodeArray:
t = tuple(item)
print(t)
if t not in seen:
newList.append(item)
seen.add(t)
print(seen)
不幸的是,如果整个子阵列(不确定正确的单词)是否重复,那么所有这些都是通知,即[[a,b][c,d][a,b]]
。
这使用另一个名为newList
的数组,如果它发现一个重复的子数组,它就不会包含它。
我已经尝试过自己并使用这个网站寻找方法,但我无法在任何地方找到。有人可以帮忙吗?
答案 0 :(得分:0)
你已经注意到它附加了一个完整的数组。你需要做的只是迭代那个,沿着:
(...)
for row in decodeArray:
for column in row:
(...)