python - 有没有办法减少这种情况?
问题描述
我有这段代码,其中 st 是具有 x 和 y 参数的类的数组。我必须对他们的 x 或 y 进行排序。我怎样才能减少它,这样我就不必编写相同的代码 2 次(每种情况一个)?
def sort(st, coor):
for i in range(len(st)):
if coor == 'x':
selected = st[i]
j = i - 1
while j >= 0 and st[j].x > selected.x:
st[j + 1], st[j] = st[j], st[j + 1]
j -= 1
st[j + 1] = selected
i += 1
else:
selected = st[i]
j = i - 1
while j >= 0 and st[j].y > selected.y:
st[j + 1], st[j] = st[j], st[j + 1]
j -= 1
st[j + 1] = selected
i += 1
解决方案
推荐阅读
- c - 如何修改我的代码以使其正常工作?
- javascript - node.js 和 websocket:是否有可能进入竞争状态?
- python-3.x - python3 tkinter event.x event.y 负值
- caliburn.micro - Caliburn.Micro 4.0 是否仍在使用引导程序?
- c# - 在 C# 中创建自己的小部件并添加到表中
- r - 如何在ggplot2中获得y轴上的百分比?
- python - 尝试创建一个功能来标记图像
- firebase - 通过 Flutter 获取 Firebase 存储中已存储文件的 URL
- c# - C# 如果数组通过引用传递,为什么必须使用修饰符 ref 传递参数数组?
- agda - 在 Agda 中证明当且仅当的错误情况