标签: sorting

按这些对象的特定属性对对象列表进行排序?

我创建了名为 Student() 的类,其属性为 name 和 surname。在那个类中,我创建了类变量 -> all_students = []

创建对象时,它会被添加到该类变量 = all_students 中。

如何按属性名称的长度从最长到最短对对象列表进行排序?

import operator
class Student:

    all_students = []
    def __init__(self, name, surname):
        self.name = name
        self.surname = surname
        Student.all_students.append(self)

s_1 = Student("Jacobbbb", "anything")

s_2 = Student("Mat", "anything1")

s_3 = Student("Marcooooooo", "sss")


new_list = sorted(Student.all_students, key=operator.attrgetter(len('name')))

for student in new_list:
    print(student.name)
Run Code Online (Sandbox Code Playgroud)

我试过用运营商,但我不能这样做。将不胜感激的帮助。

python sorting python-3.x

0
推荐指数
1
解决办法
590
查看次数

如何使用堆排序先打印奇数的顺序,然后打印偶数而不是较小的数字?

假设有一个由数字 1,2,4,3,5,6,7 组成的数组。我想使用堆排序打印 1,3,5,7,2,4,6 。我一直在尝试修改基本的堆排序,但无法获得正确的输出。

你能帮忙吗?

#include<bits/stdc++.h>
using namespace std;

int heapsize;

int make_left(int i)
{
    return 2*i;
}
int make_right(int i)
{
    return (2*i)+1;
}
void max_heapify(int a[],int i)
{
  //  cout<<heapsize<<endl;
    int largest=i;
   // printf("current position of largest is %d and  largest is %d\n",largest,a[largest]);


    int l=make_left(i);
    int r=make_right(i);
 //   printf("current position of left is %d and  left element is %d\n",l,a[l]);
   // printf("current position of right is %d and  right element is %d\n",r,a[r]);

    if(a[l]>=a[largest] && l<=heapsize && a[l]%2!=0)
        largest=l; …
Run Code Online (Sandbox Code Playgroud)

sorting algorithm heapsort data-structures

0
推荐指数
1
解决办法
30
查看次数

对对象中的字符串日期进行排序

我有表视图,其中包含诸如“从、到、操作、日期和描述”之类的数据。现在我以字符串格式获取日期,我需要按日期从最新日期到较早日期对消息进行排序,我尝试了排序代码,但它只对前两个字符进行排序。例如:tSFDATE 有字符串“11/01/2010”、“01/02/2010”。结果将是

“01/02/2010”、“11/01/2010”。所以任何按日期对 TrackObj 进行排序的解决方案

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! TrackingTableViewCell

        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "dd/MM/yyyy - hh:mm:ss"


        let sortedArray = self.trackingListArr.sorted { dateFormatter.date(from: $0.tSFDATE!)! < dateFormatter.date(from: $1.tSFDATE!)! }


        let trackObj = sortedArray[indexPath.row]


            cell.lblFromValue.text = trackObj.fROMUSERAR!

            cell.lblToValue.text = trackObj.tOUSERAR!

            cell.lblPurpsValue.text = trackObj.tSFPURPOSEAR!

            cell.lblDateValue.text = trackObj.tSFDATE!

            cell.lblNoteValue.text = trackObj.tSFDESCRIPTION!

    return (cell)

}
Run Code Online (Sandbox Code Playgroud)

这是结果图像 在此处输入图片说明

sorting swift

0
推荐指数
1
解决办法
2249
查看次数

递归选择排序(JS)

我正在用 JavaScript 编写递归选择排序。

预期行为:我希望函数selectionSort()按升序对数组中的值进行排序。

问题:我无法摆脱递归,我不知道如何。

错误

Uncaught RangeError: Maximum call stack size exceeded


这是我的代码:

const findSmallestIndex = ( arr ) => {
    let smallest = arr[0];
    let smallestIndex = 0;
    let arrLen = arr.length;

    for ( let i = 0; i < arrLen; i++ ) {
        if ( arr[i] < smallest ) {
            smallest = arr[i];
            smallestIndex = i;
        }
    }
    return smallestIndex;
};

const selectionSort = ( arr ) => {
    let smallest = …
Run Code Online (Sandbox Code Playgroud)

javascript sorting algorithm recursion

0
推荐指数
1
解决办法
659
查看次数

Django Admin Sortable 2 不保存订单

我已经在我的 Django 项目中安装了 Django Admin Sortable 2。我可以在管理员中看到拖放订单系统,但是当我移动某些对象时,订单不会被保存。移动对象时,我在终端日志中也看不到任何错误。

这是我的模型和管理 python 文件。我需要做任何额外的事情来保存订单吗?

模型.py

class QuickLink(models.Model):
    title = models.CharField(max_length=20)
    image = models.FileField(null=True, blank=False,upload_to='media/quick_links')
    link = models.CharField(max_length=200)
    order = models.PositiveIntegerField(default=0, blank=False, null=False)

    def __str__(self):
        return self.title

    class Meta(object):
        ordering = ['order']
Run Code Online (Sandbox Code Playgroud)

管理文件

from django.contrib import admin
from adminsortable2.admin import SortableAdminMixin
from .models import QuickLink

@admin.register(QuickLink)
class QuickLinksAdmin(SortableAdminMixin, admin.ModelAdmin):
    pass
Run Code Online (Sandbox Code Playgroud)

我的版本如下:

姜戈 2.0.4

Python 3.6.1

Django Admin Sortable 2 0.6.19

python sorting django django-admin

0
推荐指数
1
解决办法
1821
查看次数

如何按目录文件名中的数字对文件进行排序?

我有一个包含许多按特定顺序命名的文本文件的目录:

0.txt
1.txt
2.txt
....
100.txt
101.txt
.....
40000.txt
Run Code Online (Sandbox Code Playgroud)

当我尝试检索我使用的所有文件的排序列表时:

for file in sorted(os.listdir(filepath)):
            print(file)
Run Code Online (Sandbox Code Playgroud)

我得到的结果是:

0.txt
1.txt
10.txt
100.txt
1000.txt
10000.txt
10001.txt
10002.txt
10003.txt
10004.txt
.....
Run Code Online (Sandbox Code Playgroud)

这不是我想要的,我想要它按正常升序排列:

0.txt
1.txt
2.txt
3.txt
4.txt
...
Run Code Online (Sandbox Code Playgroud)

有谁知道如何做到这一点?

python sorting operating-system

0
推荐指数
1
解决办法
7093
查看次数

带百分比的随机数

我有这个:

var users = [user1, user2, user3];
var chances = [20, 20, 60];
var total = 100;
var random = Math.floor((Math.random() * total) + 1);

if (random > 40 && random < 100) {
    console.log('winner:', users[2]);
}

if (random > 20 && random < 40) {
    console.log('winner:', users[1]);
}

if (random > 0 && random < 20) {
    console.log('winner:', users[0]);
}
Run Code Online (Sandbox Code Playgroud)

这将为每个用户提供公平的获胜机会。(60 有 60% 的机会,20 有 20% 的机会)。

但我真正需要的是,这是每个(或任何其他)函数的动态。

我的想法的例子:

 chances.forEach(function(entry) {
     if (unknownValue > unkownValue2 && unknownValue3 < unknownValue4) …
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting random percentage

0
推荐指数
1
解决办法
2806
查看次数

VS:使 BindingList 可排序

我正在使用 C# 和 Visual Studio 制作一个项目。问题是我正在使用我想要排序的 GridView(在这种情况下是 Prototype Code 列),我创建了一个按钮,它执行以下操作:

 void SortButton_Click(Object sender, EventArgs e)
        {
            dataGridView1.Sort(PrototypeCodeDataGridViewTextBoxColumn, System.ComponentModel.ListSortDirection.Ascending);
        }
Run Code Online (Sandbox Code Playgroud)

但是在按下按钮的那一刻,我得到了这个:

System.InvalidOperationException: '如果 DataGridView 控件绑定到不支持排序顺序的 IBindingList,则无法对其进行排序。'

我有Prototypes.Datasource,我想这就是我必须改变的东西才能使它可排序,但是如何?我会感谢您的帮助,谢谢!

c# sorting gridview datasource visual-studio

0
推荐指数
1
解决办法
3021
查看次数

Vue 正在改变集合的顺序

我有一个正在使用 and 排序的集合sortByDesc('created_at')。当我dd()在返回我的视图之前,它会改变顺序。

但是,一旦我将它传递给我的 vue 组件,它就会改变顺序。

为什么会这样?有没有办法解决这个问题?

sorting collections laravel vuejs2 laravel-5.6

0
推荐指数
1
解决办法
167
查看次数

从元组列表转换后丢失python字典中的排序顺序

所以我有一个需要按值排序的字典。我使用以下 Python3 函数对它们进行排序,该函数将排序后的数据作为元组列表返回。

def sorter(data):
    return  sorted(data.items(), key=lambda kv: kv[1], reverse=True)
Run Code Online (Sandbox Code Playgroud)

它完美地对数据进行排序,但是当我将此列表转换回字典时

dict(sorter(data))
Run Code Online (Sandbox Code Playgroud)

它会丢失顺序并以完全随机的顺序返回字典。我在这里缺少什么?

python sorting dictionary

0
推荐指数
1
解决办法
1154
查看次数