我給了一個整數/花車列表,我需要找到最接近的兩個數字。我將如何做只使用嵌套for循環?列表中最接近的兩點?
-1
A
回答
0
對於每個元素,您必須比較它與其他「最接近」值的其他元素的距離 - 無論何時該比較產生的值較小,您都記得該對是「最接近」的值。
因此,它很簡單:
def find_two_closest(numbers):
# most distant points:
delta = max(numbers), min(numbers)
for i, element in enumerate(numbers):
for j, sec_element in enumerate(numbers):
if i == j:
continue
if abs(sec_element - element) < abs(delta[0] - delta[1]):
delta = sec_element, element
return delta
0
這裏是一個速戰速決只有嵌套for
循環和if
條件;沒有別的。不用說,這是做這件事的最低效的方式,但我認爲有理由(學習東西?)。如果是這樣的話,你應該花一些時間來學習這個過程。
my_list = [1, 3, 9, 14, 12, 20, 22]
c = list()
for value_1 in my_list:
for value_2 in my_list:
if value_1 != value_2 and value_2-value_1>0:
c.append({
'val_1': value_1,
'val_2': value_2,
'delta':value_2 - value_1
})
minimum = c[0]['delta']
for item in c:
num = item['delta']
if minimum > num:
minimum = num
print(str.join('\n', [str(item) for item in c if item['delta'] == minimum]))
返回:
{'val_1': 1, 'val_2': 3, 'subtraction': 2}
{'val_1': 12, 'val_2': 14, 'subtraction': 2}
{'val_1': 20, 'val_2': 22, 'subtraction': 2}
相關問題
- 1. 查找列表中的一個點是最接近另一點
- 2. 返回列表中最接近的值
- 3. MapKit中最接近的註釋列表
- 4. 如何找到兩個列表中最接近的數字?
- 5. 查找節點定列表最接近的節點,並協調
- 6. 訂購最接近指定點的點列表
- 7. 兩組點之間的最近點
- 8. 查找python中兩個列表中最接近的鄰居的索引
- 9. 使用jQuery最接近或最接近的切換選擇列表?
- 10. 的SQLite - >尋找兩個最接近的點到兩個不同點
- 11. 線上兩個最近點的位置
- 12. 兩個多邊形的最近點
- 13. 兩條曲線之間的最近點
- 14. 來自兩組的最接近的一對點,每組一個
- 15. Elixir中陣列最接近的東西
- 16. 查找三個陣列中最接近的三個x,y點
- 17. 使用排序在列表中找出兩個最接近的數字
- 18. 最近的文件列表
- 19. NSMenu - 最近的列表
- 20. 最小浮點數(最接近零)
- 21. 爲兩個節點尋找最接近的父親
- 22. 價格最接近陣列?
- 23. 數據庫表中最接近的值
- 24. 查找列表中最接近的點到一個對象名單
- 25. 將點連接到不同點之間的每兩個最近點
- 26. 兩個陣列之間的最近點索引
- 27. 查詢兩個表以獲取最近日期的列表?
- 28. 點列表並找到最近的點故障
- 29. 查找列表中的最近點數n
- 30. 找到最接近列表中的值的變量
[列表中查找蟒最近點]的可能重複(https://stackoverflow.com/questions/36831039/finding-closest-points-in-list- python) – zondo
您的問題與上次提問時一樣寬泛。 – zondo
我該如何讓它更具體?這個任務的字面意思是說我需要在一個最接近的列表中找到兩個點。 – PythonSOS