先看题目:
大致是找出a=[1,1,2,3,3,4,5,4,5]类似的列表中出现一次的元素>没错,就是2了。

1.先讲讲思路

2.源代码

3.这里面学习到的知识

1.思路1是这样的,我遍历原列表。每次都计算此刻的元素在列表中出现的次数(a.count('')).当返回值是1时,结束。但是我发现这样的时间复杂度是O(n),的确,后面提交的时候也超时了。

思路2.利用Counter(X).most_common(n)函数,会直接返回从高频率出现的(频率,元素)到低频率的列表。这样我们只需要取最后那个就行了。但是我还是觉得有点浪费了,毕竟我只需要最后的一个信息。

2.源码:

from collections import Counter
zs = int(input())
for i in range(zs):  a = int(input())  # 这个牌组的个数  b = input().split()  # 具体剩下的牌  c = Counter(b).most_common(a)  # 次数排在前n的数c d e  d = list(c[-1])[0]  print("Case #%d:"%(i+1),d)  

3.看了同学们的思路:

同学1:先排个序,变成[2,2,3,4,4,5,5]的样子;再去循环判断第一个元素与第二个是不是相等?

评价:仅仅对本题来说,思路很好。但是还是有点费时。

同学2: nums = [int(j) for j in input().split()]  这串代码,让我学会体面的讲字符的表格一行转换成int形的。

另外:在导入Counter的情况下:Counter(nums)可以以字典的形式返回这个列表的频率键值对。注:若字典前还有Counter,为了单纯字典化,可以dict(Counter(nums)).要知道,字典映射是极快的。比列表好太多。

同学3:set(),在把列表元素往集合里面添 new__contains__(x):

Python找出列表的中只出现一次的元素相关推荐

  1. python找出列表list中重复元素

    代码 from collections import Countera = [29,36,57,12,79,43,23,56,28,11,14,15,16,37,24,35,17,24,33,15,3 ...

  2. Python找出列表中出现次数最多的元素三种方式

    通过三种方式给大家介绍,具体详情如下所示: 方式一: 原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key,值为列表中 ...

  3. python分词统计词频_-用python找出一篇文章中词频最高的20个单词

    python统计一个大文件中很多小文件里面的词频 #!/usr/bin/env python3.6 from collections import Counter from functools imp ...

  4. 找出一个数组中出现次数最多的那个元素

    Description 找出一个数组中出现次数最多的那个元素 Input 多组输入,请处理到文件结束 每组第一行输入一个整数n(不大于20) 第二行输入n个整数 Output 找出n个整数中出现次数最 ...

  5. c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...

    matlab中如何找出不同维度矩阵出现次数最多的数组并记录其个数 首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;2 ...

  6. 请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素

    给定一个单向链表(长度未知),请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素. 实现这个算法,并为可能出现的特例情况安排好处理措施. 倒数第m个元素"是这样规定的:当m= ...

  7. python找出列表中所以相同元素的索引

    在 Python 中可以使用 enumerate() 函数来找出列表中所有相同元素的索引.enumerate() 函数返回的是一个包含元素索引和元素值的元组,可以在循环中使用.示例如下: my_lis ...

  8. 算法题:“找出单身狗”--找出一个数组中只出现一次的数字

    题目:一个数组中只有两个数字是出现一次,其他所有数字都出现了两次. 编写一个函数找出这两个只出现一次的数字. 解题过程以及思路:(思路在代码中以注释形式给出) //一个数组中只有两个数字是出现一次,其 ...

  9. 算法试题 - 找出字符流中第一个不重复的元素

    题目 题目:请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时, 第一个只出现一次的字符是"g".当从该字符流中 ...

最新文章

  1. 竟然是它:# vi /etc/resolv.conf
  2. Flutter开发之图片加载(九)
  3. php连接redis 主从复制,redis怎么进行主从复制
  4. 设计模式:桥接模式(Bridge Pattern)
  5. hibernate 与 spring 松散配置的问题
  6. HtmlAgilityPack 使用
  7. 【图论】旅行者(P5304)
  8. linux——常用指令
  9. 《混合云计算》——第2章 混合云的连续统2.1 解释混合云
  10. C++ 迭代器失效问题
  11. 随想录(学校研究和公司研发)
  12. C语言程序设计第五版谭浩强课后答案 第六章习题答案
  13. 计算机搜索功能怎么搜内容,怎么让Windows7系统搜索文件内容
  14. 基于BS模型与基于二叉树模型的欧式期权定价与希腊字母结果对比
  15. 计算机毕业设计(69)php小程序毕设作品之疫苗预约小程序系统
  16. android手机什么架构图,从架构图看Android分为几层呢?
  17. 中文分句,处理双引号
  18. Spring Boot 接口数据加解密,so easy!
  19. English Learning - Day15 作业打卡 2022.12.21 周三
  20. 【C语言】浮点型数据在内存中的存储

热门文章

  1. 城市流动劳动力的数学模型matlab,数学建模_人口预测
  2. java安装路径_java环境变量和查看安装路径
  3. linux 显卡驱动程序,NVIDIA为Linux发布重大驱动程序升级
  4. Controller接口控制器(4)
  5. react-native拨打电话和安卓端拨打电话
  6. 基于Python+Django+MYSQL的校园食堂点餐管理系统
  7. 基于JAVA+SpringBoot+Mybatis+MYSQL的物业管理系统
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的高校科研管理系统
  9. 基于JAVA+Servlet+JSP+MYSQL的旅游酒店机票预订管理系统
  10. 基于JAVA+SpringMVC+Mybatis+MYSQL的外卖送餐网