先看题目:
大致是找出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. 计算机课上机课安排表,周—一学期(南山校区)计算机优秀教学上机课程表.doc
  2. mybatis缓存机制
  3. 致盗窃,抄袭有三AI内容以及不可理喻的读者
  4. MySQL 优化实战记录 1
  5. 视频直播:实时数据可视化分析
  6. Apache配置(转载)
  7. K近邻算法:机器学习萌新必学算法
  8. 输出四位完全平方数_leetcode279_go_完全平方数
  9. 设计模式之观察者Observer
  10. Python 3 实现选择排序
  11. QA | 关于手持式频谱仪,您想了解的那些技术问题(一)
  12. C#——NPOI对Excel的操作、导入导出时异常处理(二)
  13. C#姓名与机构名称生成专用类
  14. 送给女朋友的圣诞节电子贺卡源代码,圣诞节快乐代码
  15. Chrome 不支持 WebGL 怎么办
  16. highcharts中gantt甘特图的使用
  17. 【一起学UniGUI】--UniGUI的窗体和模块(7)
  18. .NetCore学习笔记:一、UnitOfWork工作单元
  19. 被众人拾柴的微信电商 何时能火焰高?
  20. 神策数据 方正证券发布《2022 证券行业行为数据根基建设白皮书》

热门文章

  1. 西部数码linux云服务器,linux云服务器选择哪个版本
  2. HttpClient 实现爬取百度搜索结果(自动翻页)
  3. 部署 Job (第三部分)
  4. 不同于其他写脚本的同类文章,使用软件取消赞和关注收藏
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的酒店预订系统
  6. python 死循环插曲变量_FishC03 讲:python小插曲之变量和字符串
  7. Spark 在 Window 环境下的搭建
  8. Spring boot 连接Redis实现HMSET操作
  9. 学习日记2、easyui treeGrid属性及时间
  10. 程序员书单_数据库篇