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

📅  最后修改于: 2022-05-13 01:55:40.772000             🧑  作者: Mango

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

给定一个列表列表,任务是找出一个子列表是否满足三角不等式。

三角形不等式规定,对于任何三角形,任何两条边的长度之和必须大于或等于剩余边的长度。换句话说,如果三角形的两条边之和大于第三条边,则三角形是有效的。如果三个边是a、b和c,那么应该满足三个条件。

a + b > c 
a + c > b 
b + c > a  

方法#1:使用列表推导

# Python code to find whether a sublist 
# satisfies the triangle inequality.
  
# List initialization
Input = [[1, 3, 1], [4, 5, 6]]
  
# Sorting sublist
for elem in Input:
    elem.sort()
  
# Using list comprehension
Output = [(p, q, r) for p, q, r in Input if (p + q)>= r]
  
# Printing output
print(Output)
输出:
[(4, 5, 6)]


方法#2:使用迭代

# Python code to find whether a sublist
# satisfies the triangle inequality.
  
# List initialization
Input = [[1, 1, 3], [4, 5, 6]]
  
# Sorting sublist of list of list
for elem in Input:
    elem.sort()
  
# Checking for triangular inequality
for elem in Input:
    if elem[0] + elem[1] > elem[2]:
        print(elem)
输出:
[4, 5, 6]