Python 操纵列表以解决难题
我有一份清单:Python 操纵列表以解决难题,python,list,puzzle,Python,List,Puzzle,我有一份清单: mylist=[[1,2],[2,3,5],[1,3],[5,8,6],[5,9],[4],[7],[6,8,9],[4,9,8,6]] 这是一行数独游戏,每个列表代表每个案例的可能性 我的目标是创建一个从mylist[1]中删除5的函数;因为1,2和3只能在列表[0]或[1]或[2]中 我在找提示 我想出了一个好主意 def epure(dimension, length): repeated=[i for sublist in [x for x in dimens
mylist=[[1,2],[2,3,5],[1,3],[5,8,6],[5,9],[4],[7],[6,8,9],[4,9,8,6]]
这是一行数独游戏,每个列表代表每个案例的可能性
我的目标是创建一个从mylist[1]
中删除5
的函数;因为1
,2
和3
只能在列表[0]
或[1]
或[2]
中
我在找提示
我想出了一个好主意
def epure(dimension, length):
repeated=[i for sublist in [x for x in dimension if len(x)==length] for i in sublist]
repeated=list(set([x for x in repeated if repeated.count(x)==length]))
for n in dimension:
for item in repeated:
if item in n and len(n)!=length:
n.remove(item)
return dimension
但这是一个失败,我现在很挣扎。为什么要将输入作为输出返回,应该返回repeated而不是return dimension函数的作用是:-检查维度中的项(我的列表)-如果一个项以n==列表的长度重复n次:从任何其他大小不同的列表中删除该项。-然后返回修改后的维度。输出是好的,是函数没有达到我想要的。从你所说的和函数所做的给出期望的输出原因它们都是完全不同的两件事。以给定的mylist作为输入,给出所需的输出。假设我将列表[[1,2][1,3][2,3][4,5,3,2,1]]传递到函数中。输出将为[[1,2]、[1,3]、[2,3]、[4,5]]。我想要一个函数,这样如果我的输入是[[1,2],[1,3],[2,3,4],[4],[1,3],[2,3],[4],[2]你有两个参数,长度值是多少,是2为什么你要将输入作为输出返回,你应该重复返回,而不是返回维度函数的作用是:-检查维度中的项目(我的列表)-如果一个项目重复n次,n==列表长度:从任何其他不同大小的列表中删除该项目。-然后返回修改后的维度。输出是好的,是函数没有达到我想要的。从你所说的和函数所做的给出期望的输出原因它们都是完全不同的两件事。以给定的mylist作为输入,给出所需的输出。假设我将列表[[1,2][1,3][2,3][4,5,3,2,1]]传递到函数中。输出将为[[1,2]、[1,3]、[2,3]、[4,5]]。我想要一个函数,这样如果我的输入是[[1,2],[1,3],[2,3,4],[4],那么输出就是[[1,2],[1,3],[2,3],[4]]你有两个参数,长度值是多少,是2