检查Python列表中的三角不等式

三角形的两个边的总和始终大于第三边。这称为三角形不等式。Python列表列表,我们将确定三角形不等式成立的那些子列表。

与for和>

我们将首先对所有子列表进行排序。然后,对于每个子列表,我们将检查前两个元素的和是否大于第三个元素。

示例

Alist = [[3, 8, 3], [9, 8, 6]]
# Sorting sublist of list of list
for x in Alist:
   x.sort()
# Check for triangular inequality
for e in Alist:
   if e[0] + e[1] > e[2]:
      print("The sublist showing triangular inequality:",x)

输出结果

运行上面的代码给我们以下结果-

The sublist showing triangular inequality:
[6, 8, 9]

具有列表理解

在这种方法中,我们还首先对子列表进行排序,然后使用列表理解来遍历每个子列表,以检查哪个满足三角不等式。

示例

Alist = [[3, 8, 3], [9, 8, 6]]
# Sorting sublist of list of list
for x in Alist:
   x.sort()
# Check for triangular inequality
   if[(x, y, z) for x, y, z in Alist if (x + y) >= z]:
      print("The sublist showing triangular inequality: \n",x)

输出结果

运行上面的代码给我们以下结果-

The sublist showing triangular inequality:
[6, 8, 9]