List集合元素的计算、排序、查找、统计

引入:针对List元素的计算、排序、查找、统计。

1)计算(max,min,sum)


示例1

list01=[45, 90, 123, 987, -18, 78, 96]

print("list01的最小值:",min(list01))

print("list01的最大值:",max(list01))

print("list01所有元素的和:%d"%sum(list01))

示例2

list02=["Abby", "Peter", "Tomas", "Bob", "Steven"]

print("list02的最小值:",min(list02))

print("list02的最大值:",max(list02))

print("list02所有元素的和:%d"%sum(list02))

#字符串的最大值,最小值是按照字母排序来计算的;sum(求和)只能应用于数字元素


示例3

list03=["Abby", "Peter", 45, "Bob", -4]

print("list03的最小值:",min(list03))

print("list03的最大值:",max(list03))

print("list03所有元素的和:%d"%sum(list03))

#对于max,min只能应用于所有元素要么都是数字,要么都是字符串


2.  排序和反转(sort, reverse)

list01=[45, 90, 123, 987, -18, 78, 96]

#排序sort是更改存储顺序,默认是升序

list01.sort()

print(list01)

#倒叙排列方法01

list01.sort()

list01.reverse()

print(list01)

#倒叙排列方法02

list01.sort(reverse=True)

print(list01)

执行结果:

C:\python\python.exe C:/python/demo/file2.py

[-18, 45, 78, 90, 96, 123, 987]

[987, 123, 96, 90, 78, 45, -18]

[987, 123, 96, 90, 78, 45, -18]

Process finished with exit code 0

#sorted排序:不更改存储顺序

list01=[45, 90, 123, 987, -18, 78, 96]

print(sorted(list01))

print(list01)

3)查找 index 统计 count

list01=[45, 987, 90, 123, 987, -18, 78, 987, 96]

print(list01.index(987))

print(list01.index(987, 2, 8))

#在第3个到第8个元素范围内查找特点的元素

print(list01.index(100))

#如果能查找到,返回该元素的第一个索引值,如果查不到返回异常

执行结果:

C:\python\python.exe C:/python/demo/file2.py

Traceback (most recent call last):

1

4

File "C:/python/demo/file2.py", line 4, in <module>

print(list01.index(100))

ValueError: 100 is not in list

Process finished with exit code 1

list01=[45, 987, 90, 123, 987, -18, 78, 987, 96]

print(list01.count(987))#获取987这个元素出现的次数

print(list01.count(123))#获取123这个元素出现的次数

print(list01.count(1000))#获取1000这个元素出现的次数

原文地址:http://blog.51cto.com/13043937/2108494

时间: 2024-10-07 02:29:11

List集合元素的计算、排序、查找、统计的相关文章

【转载】Java集合类的排序,查找,替换操作

转自:http://blog.csdn.net/sunhuaqiang1/article/details/52142873 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对象后,我们可以根据Collection中的方法进行排序,查找,替换操作.而不用在东奔西走的利用什么各种排序算法.正则来实现了.在进行数组排序时,有时反而会因为参数问题而大费周折.例如,自己在利用快排进行数组排序时,当将参数(int []

数组高级部分--排序,查找

1.数组排序之冒泡排序: 两两比较,大的往后放放,第一次比较完毕之后,最大值就出现在了最大索引出,继续依次比较,得到一个排好序的数组! 2.数组排序之:选择排序:           用0索引依次和后面的索引进行比较,第一次比较完毕之后,最小值出现在了最小索处!               同理,其他索引也是依次进行比较! 3.数组查找 基本查找:数组元素查表法(查询数组中的元素第一次在数组中出现的索引):从头查到尾                     数组二分查找(折半查找) 思路:   

成绩排序查找

西南科技大学 ACM解题报告 姓名:张艺童 学号:5120142109 组号:3 班级:软件1402 1 题目来源:OJ  0616 2 题目描述: Description: 用选择法对N个学生的成绩按从大到小的顺序排序,N个学生的成绩整数用scanf 输入,输入的成绩在[0,100]之间.排序完成后,输入一个成绩,要求用逐个比较查找的方式找出该成绩是该组中第几个元素的值(即第几名).如果该成绩不在数组中,则输出“no this score!”. 要求: 1.把排序算法写成函数形式,在主函数中输

集合元素的比较

原文见: http://www.cnblogs.com/sunflower627/p/3158042.html 1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的, 什么是自定义class: 如 public class Person{ String name; int age }. 当我们有这么一个personList,里面包含了person1, person2, persion3....., 我们用Coll

Java数据结构 遍历 排序 查找 算法实现

1. 遍历算法(遍历二叉树6种方法) 1.1. 概述 遍历算法针对二叉树而言的,主要有先序.中序.后序三种遍历顺序,三种顺序又分别有递归和常规算法,二叉树遍历的主要思想是:遍历左子树,遍历右子树,访问根节点,由这三者的遍历顺序来确定是先序.中序还是后序.下面只要求掌握递归遍历算法,常规遍历算法见附录一. 1.2. 先序遍历算法 遍历顺序:访问根节点,遍历左子树,遍历右子树.代码如下: void preOrder(BinaryTreeNode bt) { if (bt == null)// 如果当

基于相邻元素交换的排序算法的下界

逆序(inversion)是指序列中具有性质“i<j,但a[i]>a[j]“的序偶(a[i].a[j]). 例如:在序列34,8,64,51,32,21中具有9个逆序:(34,8),(34,32),(34,21),(64,51),(64,32),(64,21),(51,32),(51,21),(32,21): 显而易见的是,排序完成之后,序列中将不会存在逆序.因此我们可以通过计算序列中的逆序数来及算排序平均运行时间的精确的界.为了可以定义出“平均”,这里假设序列中不存在重复元素.利用这个假设,

集合TreeSet(自然排序与定制排序)

一.TreeSet的自然排序: 步骤:让元素自身具备比较性, 实现Compareable接口,覆盖其CompareTo方法 class Student implements Comparable//第一:实现Compareable接口 { private String name; private int age; Student(String name,int age) { this.name = name; this.age = age; } public int compareTo(Obje

C/C++ 排序&amp;&amp;查找算法(面试)

一.排序 1.冒泡排序 1 void BubbleSort(int array[],int n) 2 { 3 int i=0; 4 int j=0; 5 int temp=0; 6 int flag = 0; 7 for(i=0;i<n - 1 ;i++) /*外循环控制排序的总趟数*/ 8 { 9 flag = 0; /*本趟排序开始前,交换标志应为假*/ 10 for(j=n-1;j > i;j--) /*内循环控制一趟排序的进行*/ 11 { 12 if(array[j] < ar

排序 查找

获取数组最值 int arr[] = 数组int max= arr[0];for(int i = 0;i < arr.length;i++){ if(arr[i] > (最小值反之)max){ max = arr[i]; }}System.out.println("数组arr最大值为:"+max); 选择排序 选择排序是一次和后面的元素进行比较,第一次比较得到最小值 for(int a=0;a<arr.length-1;a++){ for(int b=a+1;b<