Python由大到小输出列表中的元素(不用函数,用逻辑for之类的)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python由大到小输出列表中的元素(不用函数,用逻辑for之类的)相关的知识,希望对你有一定的参考价值。

各种排序算法任何一个都可以完成你要的自定义排序,比如二叉树、最优算法、冒泡排序等多了去了。

其实用自带的sorted函数最省事!

好吧,来一个冒泡排序:

lists = [15, 7, 9, 2, 6, 16, 12, 8, 14, 18, 19, 20]
count = len(lists)
for i in range(0, count):
    for j in range(i + 1, count):
        if lists[i] < lists[j]:
            lists[i], lists[j] = lists[j], lists[i]
print(lists)

结果:

[20, 19, 18, 16, 15, 14, 12, 9, 8, 7, 6, 2]

参考技术A for i in sorted(youlist_var,reverse=True):
    print(i)

追问

这不还是用了sorted函数么

追答

你要从大到小输出,你第一步就是要作排序。你要自己写排序还不如直接用现成的。你自己写的排序虽然你可以不包装成函数,但是有差吗,说到底还不是函数。你这个问题毫无意义,我不再做其他回答。如果你要一个函数都不用,那print你也别用,输出看看,说到底for也是一个函数。

使用指针来完成三个数由大到小输出(简单指针的应用)

#include<stdio.h>
int main()

void exchange(int *r1,int *r2,int *r3);
int a,b,c,*p1,*p2,*p3;
scanf("%d %d %d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;//若在数组中p1中存的是数组所在内存空间的首地址
exchange(p1,p2,p3);//使用这个函数之前必须先声明
printf("%d %d %d",a,b,c);
return 0;

void exchange(int *r1,int *r2,int *r3)

void swap(int *q1,int *q2);
if(*r2>*r1)

swap(r1,r2);

if(*r3>*r1)

swap(r1,r3);

if(*r3>*r2)

swap(r2,r3);


void swap(int *q1,int *q2)

int temp;
temp=*q2;
*q2=*q1;
*q1=temp;

运行结果如图

使用指针来完成三个数由大到小输出(简单指针的应用)_#include

以上是关于Python由大到小输出列表中的元素(不用函数,用逻辑for之类的)的主要内容,如果未能解决你的问题,请参考以下文章

Python中输入任意四个数,输出他们由大到小排序?

java编程将一组数组元素按照由大到小降序排列.

C++_输入3个数分别按由大到小的顺序输出,数据可以是整型单精度型双精度型,要求使用变量的引用 和函数模板

建立一棵二叉链表表示方式存储的二叉排序树,并打印输出对其由大到小遍历的结果

C++_输入2个整数,并由大到小的顺序输出

python 排序 由大到小