如果希望它返回更多的结果,则需要计算更多的结果。与其返回它找到的第一个匹配,不如将结果添加到列表中,然后返回列表:contentAslist = [

"abcd",

"efgh",

"abcd",

"ijk",

"lmno",

"ijk",

"lmno",

"ijk",

]

def getallDups():

lc = 0

result = []

for eitem in contentAslist:

lc += 1

if contentAslist.count(eitem) > 1:

result.append((lc, eitem))

return result

data = getallDups()

print data

但是,这是一个非常低效的方法,O(N^2),因为list.count()方法对于列表中的N个项是O(N),我们称之为N次。

更好的方法是使用散列。请注意,这里的返回类型非常不同,但可能更有用,可以很容易地转换为原始表单。import collections

contentAslist = [

"abcd",

"efgh",

"abcd",

"ijk",

"lmno",

"ijk",

"lmno",

"ijk",

]

def getallDups():

lc = 1

# OrderedDict is same as "{}" except that when we iterate them later they're in the order that we added them.

lhash = collections.OrderedDict()

for line in contentAslist:

# get list of line numbers matching this line, or empty list if it's the first

line_numbers = lhash.get(line, [])

# add this line number to the list

line_numbers.append(lc)

# Store the list of line numbers matching this line in the hash

lhash[line] = line_numbers

lc += 1

return lhash

data = getallDups()

for line, line_numbers in data.iteritems():

if len(line_numbers) > 1:

print line, ":",

for ln in line_numbers:

print ln,

print

上述解为O(N)。

样本输入:abcd

efgh

abcd

ijk

lmno

ijk

lmno

ijk

产出:abcd : 1 3

ijk : 4 6 8

lmno : 5 7

python中变量不直接存储值_无法存储函数的Python导致变量?相关推荐

  1. python字典修改键所对应值_详解如何修改python中字典的键和值

    我们知道python中字典是无序的,它们都是通过hash去对应的.一般的如果我们需要修改字典的值,只需要直接覆盖即可,而修改字典的键,则需要使用字典自带的pop函数,示例如下: t = {} t['a ...

  2. python全局变量可以改变吗_在Python中避免我的全局变量,我有几个函数可以改变一个变量...

    我试图摆脱我的全局变量,但我不是成功的. 在这种情况下,我让用户在运行程序时分配坐标.从这些坐标开始,我们开始驾驶一艘船(在矩阵内),这意味着我控制运动的功能需要从输入功能访问这些坐标.移动功能还需要 ...

  3. python中的断言是什么意思_一日一技:python中的断言

    一.使用python中的断言来自动检测python程序中的错误,让程序更加可靠且更易于调试 从根本上来说,python中的断言语句是一种调试工具,用来测试某个断言条件,如果断言条件为True,则程序将 ...

  4. [转载] python中numpy模块的around方法_更好地舍入Python的NumPy.around:舍入numpy的数组

    参考链接: Python中的numpy.round_ I am looking for a way to round a numpy array in a more intuitive fashion ...

  5. python中flag=true是什么意思_【后端开发】python中flag什么意思

    python中flag一般就是标记.标识的意思 比如:(推荐学习:Python视频教程) #!/usr/bin/python # -*- coding: UTF-8 -*- x = 7 i = 1 f ...

  6. 在python中使用最小二乘法画出拟合曲线_基于jupyter notebook的python编程-----运用最小二乘法,导入文件数据模拟一元线性回归分析...

    基于jupyter notebook的python编程-----运用最小二乘法,导入文件数据模拟一元线性回归分析 用最小二乘法模拟一元线性回去曲线的目录 一.运行jupyter notebook,搭建 ...

  7. python中的数据分析库有哪些_五大常用数据科学Python库

    目录介绍PandasNLTKTextBlobpyLDAvisNetworkX摘要参考引用 介绍 处理数据的过程消耗了人们在日常工作中的大量时间,而且我也经历过.我不仅处理过数值数据,还处理过文本数据, ...

  8. python中的标准模块有哪些_下面哪些模块属于Python标准库模块

    下面哪些模块属于Python标准库模块 答:math\n\nrandom\n\ndecimal\n\ntime 艺术学理论学科方向可分为两个层次:一是纯理论性学科方向:二是应用性(或交叉性)学科方向. ...

  9. python中可选参数是什么意思_【IT专家】python 函数参数(必选参数、默认参数、可选参数、关键字参数)...

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 python 函数参数 ( 必选参数.默认参数.可选参数.关键字参数 ) 2015/09/01 30797 参考: liaoxuefeng/wik ...

最新文章

  1. lamp不解析php,LAMP环境下不能解析php原因及排查步骤
  2. iOS: 零误差或极小误差的定时执行或延迟执行?
  3. css3多行超出隐藏并打点点
  4. 训练生成对抗网络的过程中,训练gan的地方为什么这里没有detach,怎么保证训练生成器的时候不会改变判别器
  5. 【蓝桥杯-第五届】 啤酒和饮料
  6. Linux 之十二 Makefile 从入门到放弃全解
  7. qq浏览器私密空间在哪 具体操作步骤
  8. Unity-多核优化1-C#JobSystem
  9. 互联网架构:屡试不爽的架构三马车
  10. qq2013 sp1 去广告方法及代码
  11. 标准输入输出详解(C++)
  12. 自己动手编译android ffmpeg
  13. java 连接ftp服务器 从页面进行下载
  14. Laravel项目+Google验证器
  15. 软工1816 · 第二次作业 - 个人项目
  16. js的validate插件异步效验
  17. 全球与中国钠还原剂市场深度研究分析报告
  18. R语言单因素方差分析(附代码)
  19. matlab-采用For循环,将每次计算得到的矩阵,依次放进一个新的矩阵
  20. 简单粗暴搞定webpack4的style-loader!css-loader

热门文章

  1. 剪辑视频的方法和步骤 剪辑视频基本技巧有哪些
  2. 在JIRA中设置腾讯企业邮箱
  3. 天秀!一张图就能彻底搞定Pandas!
  4. html font设置字号,CSS font-size字体文字大小样式属性
  5. win10更新双系统启动选项消失得解决方案
  6. python批量移动文件,每个文件夹内都有一个文件,需要把这些文件提取出来,放到另一个文件夹里,手动太费时间了
  7. Python颜色光谱单色效果图
  8. vo类,model类,dto类的作用及划分
  9. 使用 React 和 Threejs 创建一个VR全景项目
  10. 机器学习初级算法梳理一