MoistenLe 发表于 2023-7-9 22:39:35

列表元素 怎么按个数进行排序 如下

5 和4个数最多 怎么让他们排在前面感谢{:10_304:}

isdkz 发表于 2023-7-9 22:50:25

lst =

sorted_lst = sorted(lst, key=lambda x: (lst.count(x), x), reverse=True)

print(sorted_lst)

sfqxx 发表于 2023-7-9 22:52:56

如果您希望将数字5和4排在列表的前面,并保持原始顺序,可以按照以下步骤进行操作:

1. 创建一个空列表 `result` 用于存储结果。
2. 遍历原始列表,将数字5和4分别添加到 `result` 中。
3. 继续遍历原始列表,将除了5和4之外的其他元素添加到 `result` 中。
4. 返回 `result` 列表。

以下是实现此功能的代码示例:

def prioritize_54(lst):
    result = []

    # 将数字5和4添加到结果列表中
    for num in :
      result.extend( * lst.count(num))

    # 将除了5和4之外的其他元素添加到结果列表中
    for num in lst:
      if num not in :
            result.append(num)

    return result

# 测试样例
lst =
result = prioritize_54(lst)
print(result)
运行以上代码会输出排好序的列表:


求最佳答案{:10_254:}

MoistenLe 发表于 2023-7-9 23:06:44

isdkz 发表于 2023-7-9 22:50


可以了 就是大神 能解释下吗

isdkz 发表于 2023-7-9 23:08:13

MoistenLe 发表于 2023-7-9 23:06
可以了 就是大神 能解释下吗

1. 首先,给定了一个列表lst,其中包含了一些整数。

2. 接下来,使用sorted函数对列表lst进行排序。sorted函数可以接受一个可迭代对象作为输入,并返回一个新的已排序的列表。

3. 在sorted函数中,使用了两个参数来指定排序规则:

   · key=lambda x: (lst.count(x), x):这是一个匿名函数(lambda函数),用于指定排序的关键字。对于列表中的每个元素x,key函数返回一个元组,元组的第一个元素是x在列表中的出现次数,第二个元素是x的值。这意味着排序首先按照元素的出现次数进行排序,如果出现次数相同,则按照元素的值进行排序。
   
   · reverse=True:这个参数指定排序的顺序是降序(从大到小),即出现次数多的元素和值大的元素会排在前面。

4. 最后,将排序后的结果赋值给变量sorted_lst。

5. 最后一行代码使用print函数打印出排序后的列表sorted_lst。

总结起来,这段代码的功能是对给定的列表进行排序,排序规则是首先按照元素在列表中的出现次数进行降序排序,如果出现次数相同,则按照元素的值进行降序排序。

MoistenLe 发表于 2023-7-9 23:10:26

isdkz 发表于 2023-7-9 22:50



x_p = list(input("请随便输入一串数字:"))
list0 =

list1 = sorted(list0, key=lambda x: (list0.count(x), x), reverse=True)

print(list1)


diyi = list1
count1 = 0
for each1 in range(len(list1)):
    if list1 ==diyi:
      count1 +=1
    else:
      break
count2 = 0
dier = list1
for each2 in range(count1,len(list1)):
    if list1 == dier:
      count2+=1
    else:
      break
if count1>len(list1)/3:
    print("主要元素是:", diyi)
    if count2>len(list1)/3:
      print("还有:", dier)
      

MoistenLe 发表于 2023-7-9 23:14:02

sfqxx 发表于 2023-7-9 22:52
如果您希望将数字5和4排在列表的前面,并保持原始顺序,可以按照以下步骤进行操作:

1. 创建一个空列表...

如果是一个随机列表 就不行了

MoistenLe 发表于 2023-7-9 23:19:25

isdkz 发表于 2023-7-9 23:08
1. 首先,给定了一个列表lst,其中包含了一些整数。

2. 接下来,使用sorted函数对列表lst进行排序。so ...

666
x_p = list(input("请随便输入一串数字:"))
list0 =

list1 = sorted(list0, key=lambda x: (list0.count(x), x), reverse=True)

print(list1)


diyi = list1
count1 = 0
for each1 in range(len(list1)):
    if list1 ==diyi:
      count1 +=1
    else:
      break
count2 = 0
dier = list1
for each2 in range(count1,len(list1)):
    if list1 == dier:
      count2+=1
    else:
      break
if count1>len(list1)/3:
    print("主要元素是:", diyi)
    if count2>len(list1)/3:
      print("还有:", dier)
      



你看下我这个有毛病没
页: [1]
查看完整版本: 列表元素 怎么按个数进行排序 如下