gpt4 book ai didi

python - 检查列表列表的函数是否具有 0 到 n 之间的所有整数元素,并且列表的长度都是给定的?

转载 作者:太空宇宙 更新时间:2023-11-04 07:50:21 25 4
gpt4 key购买 nike

我想检查以下元组列表:

C = [[2, 2, 1, 3], [2, 2, 2, 1], [3, 3, 0, 3], [0, 2, 0, 3]]D = [[2, 2, 1, 3], [2, 2, 2, 1], [3, 3, 0, 3]]

我想检查列表的长度是否为 n,其中 n>0 并且是一个整数,并且该列表也有长度为 n 的列表。检查条目是否为 0 到 n-1 之间的整数

条件:

  • 列表的长度为 n
  • list里面只有数字元素列表

  • 列表中的列表长度为n

  • 里面的列表有0到n-1之间的元素

  • 列表的元素都是整数

因此,对于 C 来说,它是长度为 4 的列表,它具有长度为 4 的列表,并且都是 0 到 4 之间的整数,因此该函数应该输出 true。

对于 D 它将是错误的,因为列表的长度为 3,而内部列表的长度为 4。

有人可以帮忙吗?

我已经尝试过 isinstance 命令,但我的代码中有很多命令变得非常困惑。有更简单的方法吗?

这是我目前所拥有的,还不完整。

def checklist(X):
n = len(X) #check len
n = int #check it is int
if n>0: #condition n>0
if isinstance(X,list): #check if x is list
for i in range(n) :
if isinstance(X[i],list): #check if the X contains list
a = X[[i]]
if isinstance(a, int)



最佳答案

使用带有嵌套列表理解的嵌套all

C = [[2, 2, 1, 3], [2, 2, 2, 1], [3, 3, 0, 3], [0, 2, 0, 3]]

n = 4

def is_valid(C, n):
valid_values = range(n)
return all(all(x in valid_values for x in l) and len(l) == n for l in C) and len(C) == n

print is_valid(C, n)

输出:

True

关于python - 检查列表列表的函数是否具有 0 到 n 之间的所有整数元素,并且列表的长度都是给定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55669479/

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