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]