精华内容
下载资源
问答
  • 如果你希望得到一个列表中以**.yml**结尾的元素,通过特定的条件筛选列表中的元素,但又不想写for循环,因为那样会让你的代码不够简洁,那么可以尝试这样: 列表中的字符串的过滤 files= ['xxxx_server', 'xxxx_...

    如果你希望得到一个列表中以**.yml**结尾的元素,通过特定的条件筛选列表中的元素,但又不想写for循环,因为那样会让你的代码不够简洁,那么可以尝试这样:

    列表中的字符串的过滤

    files= ['xxxx_server', 'xxxx_server.yml', 'docker.sh', 'Dockerfile', 'etcd.json']
    yml_flie= "".join(list(filter(lambda f: str(f).endswith('yml'),files)))
    print(type(server_name),yml_flie)
    

    输出结果:

    <class ‘str’> xxxx_server.yml
    这里是直接转换成字符串了,如果不加" ".join 的话,得到的值的类型是一个列表类型
    [‘xxxx_server.yml’]

    如果你希望得到一个列表中的所有整数元素,那么可以尝试这样:
    列表中的数值过滤

    numbers = [1,2,3,4,5,6,7,8,9,10]
    divide_number = list(filter(lambda x: x%2==0, numbers)) #过滤所有整数
    print(divide_number)
    

    [2, 4, 6, 8, 10]

     

     

    展开全文
  • 如果你希望得到一个列表中以**.yml**结尾的元素,通过特定的条件筛选列表中的元素,但又不想写for循环,因为那样会让你的代码不够简洁,那么可以尝试这样: 列表中的字符串的过滤 files= ['xxxx_server', 'xxxx_...

    如果你希望得到一个列表中以**.yml**结尾的元素,通过特定的条件筛选列表中的元素,但又不想写for循环,因为那样会让你的代码不够简洁,那么可以尝试这样:

    列表中的字符串的过滤

    files= ['xxxx_server', 'xxxx_server.yml', 'docker.sh', 'Dockerfile', 'etcd.json']
    yml_flie= "".join(list(filter(lambda f: str(f).endswith('yml'),files)))
    print(type(server_name),yml_flie)
    

    输出结果:

    <class ‘str’> xxxx_server.yml
    这里是直接转换成字符串了,如果不加" ".join 的话,得到的值的类型是一个列表类型
    [‘xxxx_server.yml’]

    如果你希望得到一个列表中的所有整数元素,那么可以尝试这样:
    列表中的数值过滤

    numbers = [1,2,3,4,5,6,7,8,9,10]
    divide_number = list(filter(lambda x: x%2==0, numbers)) #过滤所有整数
    print(divide_number)
    

    [2, 4, 6, 8, 10]

    感觉对你有用的话,顺手点个赞呗

    展开全文
  • Python实现列表匹配

    万次阅读 2018-06-09 22:40:00
    每个文章对应一个list,里面包含着[文件名,分词1,分词2...我们认为交集元素数目最多的最匹配,一样多的情况下,分词的序号(例如分词1、分词3、分词10的1、3、10)代表着其重要性,计算他们的和,越小则优先级最高。

    注:此为项目之前所作利用Python实现文档的分词及词频统计的后续工作,主要做推荐所用。该代码相比普适性不强,只是针对项目所需编写。下面是链接:python3.6实现文档词频统计 - CSDN博客

    https://blog.csdn.net/yanjiaxin1996/article/details/80629597

    摘要:每个文章对应一个list,里面包含着[文件名,分词1,分词2,。。。。,分词15],。要进行文章的最佳匹配与推荐,思路是以15个分词作为特征,进行list与list之间的交集运算。我们认为交集元素数目最多的最匹配,一样多的情况下,分词的序号(例如分词1、分词3、分词10的1、3、10)代表着其重要性,计算他们的和,越小则优先级最高。

    难点的详细解释放在代码后面。

    环境:win10+pycharm2018.1+Python3.6

    第三方库:无

    输入:python3.6实现文档词频统计 - CSDN博客 最后生成的 分词结果汇总.txt

    输入文件示例(不必一致,只是为了运行结果说明):

    PTA.docx,节点,题目,存储,输出,算法,做法,路径,循环,集合,时间,数据,元素,最小,数组,两个
    高级程序设计语言.docx,方法,对象,类型,变量,语句,数组,int,Java,执行,String,实例,数据,循环,声明,引用
    计算机组成原理复习纲要.docx,中断,方式,地址,CPU,周期,指令,程序,执行,设备,寄存器,寻址,DMA,数据,主存,接口
    离散数学合子童.docx,运算,关系,元素,系统,生成,代数,同态,函数,排列,单位,映射,盒子,原理,递推,an
    软件工程内部终版.docx,系统,测试,需求,设计,过程,开发,软件,功能,模型,描述,故障,活动,对象,关系,时间
    山软智库_计算机网络_1-41.txt,发送,数据,网络,协议,接收,传输,连接,信号,服务,智库,山软,地址,信道,TCP,主机
    数据库_可编辑.docx,属性,事务,关系,数据,索引,元组,记录,查询,连接,实体,函数,Ti,依赖,搜索,数据库
    智库内部编辑版_操作系统概念.docx,进程,系统,文件,内存,磁盘,线程,程序,调度,资源,用户,执行,访问,等待,时间,地址1
    面向对象开发技术(1).doc,对象,方法,public,继承,接口,模式,子类,定义,抽象,实例,void,类型,父类,属性,new
    数据结构复习纲要见解.doc,元素,节点,链表,数组,操作,插入,搜索,描述,路径,删除,二叉树,时间,排序,遍历,位置
    Alpha_1_操作系统概念_16-20.txt,进程,调度,程序,PCB,系统,CPU,状态,执行,内存,fork,创建,3.1,信息,上下文,切换
    Alpha_1_操作系统概念_61-70.txt,内存,页表,地址,进程,逻辑,空间,分配,分页,碎片,大小,偏移量,长度,寄存器,作业,吉鹏

    代码:

    fr = open("分词结果汇总.txt")
    data = []
    for line in fr:
        line = line.replace("\n", "")
        data.append(line.split(","))
    fr.close()
    
    #把标签list转化合并为string,并加在每篇文章的最后一列
    def list2String():
        for i in range(len(data)):
            string = ""
            for j in range(1,len(data)-1):
                string=string+data[i][j]
            data[i].append(string)
    
        print (data)
    
    #python 两个list 求交集,并集,差集 - CSDN博客  https://blog.csdn.net/bitcarmanlee/article/details/51622263
    #获取两个list的交集 返回值是list
    def intersection(listA,listB):
        #求交集的两种方式
        retA = [i for i in listA if i in listB]
        # retB = list(set(listA).intersection(set(listB)))
        return retA
    #获取两个list的并集 返回值是list
    def union(listA,listB):
        #求并集
        retC = list(set(listA).union(set(listB)))
        return retC
    #获取两个list的补集 返回值是list
    def complement(listA,listB):
        #求差集,在B中但不在A中
        retD = list(set(listB).difference(set(listA)))
        return retD
    
    #获取权重最小的序号index
    def getMinIndex(list):
        min=100
        if(len(list)==1):
            index=0
        else:
            for i in range(len(list)):
                if (list[i] < min):
                    min = list[i]
                    index = i
        return index
    
    #寻找与其最相似的文章
    def findSimilarity(singleDataAsList):
        # 生成包含匹配数目最多的文章的列表。如[[7, '进程', '内存'], [10, '进程', '内存']]
        allresult = [["初始值"]]
        max = -1
        for i in range(len(data)):
            if (data[i]!=singleDataAsList): #不能与自身比较
                a = data[i]
                intersectionResult = intersection(a,singleDataAsList)
                print (intersectionResult)
                if (len(intersectionResult) > max and len(intersectionResult) != 0):  # and len(intersectionResult)!=0
                    max = len(intersectionResult)
                    allresult.pop()
                    intersectionResult.insert(0, i)
                    allresult.append(intersectionResult)
                elif (len(intersectionResult) == max):
                    intersectionResult.insert(0, i)
                    allresult.append(intersectionResult)
    
        # 生成相应的列表的权重 如[5, 10]
        allweight = [0] * len(allresult)
        for i in range(len(allresult)):
            for j in range(1, len(allresult[i])):
                for k in range(len(data[allresult[i][0]])):
                    if (data[allresult[i][0]][k] == allresult[i][j]):
                        allweight[i] = allweight[i] + k
    
        print (allresult)
        print (allweight)
    
        minIndex = getMinIndex(allweight)
        title = data[allresult[minIndex][0]][0]
    
        print ("最匹配的文章是:" + title)
    
    b=data[-1]  #以最后一篇文章示例
    findSimilarity(b)

    运行结果不生成文件,只打印信息,如图所示:


    因为我们是拿最后一篇文章来做例子的,最后一篇文章是截取的操作系统内存部分章节的内容。那么理应我们得到的最匹配的文字是操作系统的文档。结果证明与预想的符合,该推荐还是有一定意义的。

    评价总结:

    推荐效果:所做测试不是很多,但效果尚可接受,均与预想符合。

    耗时:非常短,大约一秒就可完成。采用列表匹配后大大节省了时间。

    重点解释:

    1.为什么用列表匹配,而不用建立稀疏矩阵,计算cos等常规方法?

    因为文档对于实际项目是未知的,所以无法确定的文档的分词会产生什么结果,所以无法建立一些预定的分词。其次由于分词的多样行,即使我们预先定义好一些同义词和近义词,仍然是一个巨大的分词库。这样势必会导致产生的文档*分词的矩阵极其稀疏,当文档数目达到一定量时,运算耗时会成指数增长。考虑到时间因素,不得已放弃常规方法。

    采用list匹配,优化的部分在于省去一些本不必要的计算,比如两篇文档的交集本就为0或者为1(代指很少),这种根本无需进行cos计算,因为根本不可能是最优结果。所以用list匹配先求出交集,在交集最多的几个候选集里再次计算。这样虽然比计算cos相似度在精确度方面有不足,但是大大节约了运算时间和资源,性价比较高。

    2.如何进行列表匹配?

    一开始想到的是最基础的设置几个for循环,但对于for循环要慎重考虑。毕竟当文档数目很多后,for循环是指数增长的罪魁祸首。后来查阅一些资料,在一篇博客里发现不错的解决方案。

    python 两个list 求交集,并集,差集 - CSDN博客  https://blog.csdn.net/bitcarmanlee/article/details/51622263

    里面提供了两种方法,选用其中一种即可。(代码注释里有解释,可看代码)

    3.对于交集数目同样的文档怎么进一步划分?

    首先要明确,有同样数目的交集,并不代表相似程度就一样。回过头来捋一捋,我们假定分词代表着文章的内容,词频越高代表性越强。我们的list里面也是按词频的大小排序的。所以有同样元素数目的交集,元素的代表性(词频)也是不一样的,这就是我们二次筛选的依据。即利用分词的序号(例如分词1、分词3、分词10的1、3、10)来模拟词频,模拟重要性。


    如上图所示,这三篇文章的分词的交集的重要度的和分别是13,5,10。前面的2,7,10是文章序号。数目越小,重要性越高。故第7篇文章最符合,根据前面的序号(7)匹配到文章名,输出最后的结果。


    展开全文
  • python3.0访问列表元素

    2018-11-17 17:19:16
    ![图片说明](https://img-ask.csdn.net/upload/201811/18/1542475032_534210.jpg) 初学菜鸟想问一下各位大拿,如果通过字符匹配列表里的元素然后输出相关内容? x'x
  • python获取列表list里面元素的下标

    万次阅读 2019-11-01 10:06:27
    Python中,通常有两种方法获取元素的下标。 方法1:列表.index(target) 其中,target就是你需要查找的特定元素。 举例: target_list = [35, 67, 6, 77, 89, 98] print(target_list.index(89)) 输出结果: 4 ...

    在日常的开发过程中,我们常常需要获取某一组元素中的特定元素的下标。在Python中,通常有两种方法获取元素的下标。

    方法1:列表.index(target)

    其中,target就是你需要查找的特定元素。
    举例:

    target_list = [35, 67, 6, 77, 89, 98]
    print(target_list.index(89))
    

    输出结果:

    4

    缺点:这种方法只能得到第一个匹配到的元素下标,对于第二个,第三个是获取不到的。

    方法2:使用enumerate函数

    enumerate() 函数用于将一个可遍历的数据对象(比如说列表,元组或者字符串)组合成一个索引序列,同时列出数据的和数据的下标,多用于for循环中。

    举例:

    seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    print(enumerate(seasons))
    

    结果:

    <enumerate object at 0x0000024BA723CE10>

    能看出,最后返回的是一个enumerate对象。如果,我们在外层再加一个list()方法。

    print(list(enumerate(seasons)))
    

    结果:

    [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
    

    可以看出enumerate()方法是把list 中的元素元组化,并且可以把数组中重复的元素一个不漏的拿到手。

    for 循环使用 enumerate

    代码:

    seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    for i, element in enumerate(seasons):
        print(i, element)
    

    结果

    0 Spring
    1 Summer
    2 Fall 3 Winter

    展开全文
  • Given a list and we have to find the index of first ... 给定一个列表,我们必须在Python中找到列表的第一个匹配项的索引。 Example: 例: Input: List = [10, 20, 10, 20, 30, 40, 50] element = 1...
  • <code class="language-python">import re # r = re.compile('^\w+__.+__\d+\.ok$') ...但是列表最后有超过两个非ok的元素,就会导致最后的那个元素神秘消失。 有知道的大佬,能帮忙看看是什么原因吗? 最好不是</p>
  • 比如这种列表元素[ [‘7天’, ‘0’], [‘14天’, ‘0’],[‘14天’, ‘0’],[‘14天’, ‘0’], [‘28天’, ‘0’], [‘63天’, ‘0’] ] 其中[‘14天’, ‘0’]这个元素出现了三次,因为我之前的正则匹配使用的re....
  • python中,列表中的函数删除总共有三种函数: 1、list.pop() 2、list.remove() 3、del list[] 下面逐一介绍; 1、list.pop(self, __...remove() 函数,通过指定元素的值来移除列表中某个元素的第一个匹配项,如果这
  • python 列表 列表统计

    2019-07-05 00:32:04
    说明:liatname列表名称,obj表示要判断的元素是否在列表中(必须是精确匹配) 代码示例: nba = ['火箭','小牛','马刺','湖人','快船','骑士','火箭','魔术'] num = nba.count('火箭') # 2 表示火箭在列表中出现了两...
  • python列表中查找某个元素的索引

    万次阅读 2020-03-19 09:38:52
    1、方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的值。代码如下: 可知索引为2。但是如果a中有多个76元素,...python通过索引的操作(Python包含6种内建序列:列表、...
  • python列表操作

    2021-03-28 15:47:37
    count(obj) 统计列表内的某个元素出现的次数 extend(序列) 在列表的尾部添加一个序列,合并成一个新的列表 index(obj) 匹配到索引对象的下标 insert(index, obj) 将obj元素插入到索引index的位置 pop(obj=...
  • 最近对数据进行处理的时候, 需要对一个列表里面的数据进行除杂处理, 只保留一部分有特定特征的值, 所以必须用到正则表达式对来匹配, 开始使用的是一下子就想到的就是通过循环列表内的每个元素来进行匹配. ...
  • python 正则匹配文本并返回字典列表

    千次阅读 2014-08-11 23:44:41
    今天有遇到要匹配网页的table元素里面的内容,
  • Python list 列表

    2017-02-27 15:16:00
    操作 1、添加 append(元素值):在list末尾添加一个元素 insert(n, 元素值):在指定索引处...list.remove(obj)移除列表中某个值的第一个匹配项 3、修改,查询 可以直接通过下标访问和修改单个元素 a[-1]表示...
  • python列表中查找某个元素的索引的两种方法 1、方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的值。代码如下: list1 = [1,7,2,4,5] print(a.index(4)) output: 这种...
  • python列表删除

    2019-06-19 07:25:39
    知道元素时,通过remove函数删除,会删除掉第一个匹配到的元素列表内没有该元素时会报ValueError错误。 A=[1,2,3,4,1] A.remove(1) print(A) del 函数可以删除整个列表,也可以通过索引删...
  • python正则匹配URL

    千次阅读 2018-11-18 21:38:39
    正则匹配列表的第二个元素 判断正则匹配结果 正则匹配url_demo import re def main(): name = """ GET / HTTP/1.1 Host: 127.0.0.1:9999 Connection: keep-alive Cache-Control: max-age=0 ...
  • python-列表就是数组

    2020-06-22 08:23:24
    list = [1,2,3,“4”] 可以支持不同类型...remove(元素) 删除顺数第一个匹配元素 使用切片删除[开始:结束:步长] del 列表名[下标] 3.修改 xxx[下标] = 4.查询 in not in 名片管理列表小案例 #!/usr/bin/python # -*
  • python————列表

    2020-12-01 22:28:53
    python列表元素可以有任意类型的数据构成,同一列表中各元素的类型可以各不相同,列表中的元素允许重复。也可以修改,修改方式包括添加、删除等。 列表方法: 1.index():用于从列表中找出与value值匹配的第一个...
  • Python——列表方法

    2017-11-08 00:03:00
    list.count(obj),统计某个元素列表中出现的次数 3 list.extend(seq),在末尾一次性追加另一个序列中的多个值(用新列表拓展原来的列表) 4 list.index(obj),从列表中找出某个值第一个匹配的索引位置 5 list,...
  • python列表方法

    2020-05-28 18:09:42
    python列表方法 方法:list.append(obj) 作用:在列表末尾添加新的对象 方法:ist.count(obj) 作用:统计某个元素列表中出现的次数 方法:list.extend(seq) 作用:在列表末尾一次性追加另一个序列中的多个值...
  • 列表(有序) 添加 list.append(元素):在列表末尾添加新的元素 list.extend(seq):在列表末尾一次性追加另一个序列中的多个值 –seq可以是列表、元组、...list.remove(元素):删除列表中某个值的第一个匹配项,没有返
  • python list删除元素的几种方式

    千次阅读 2018-10-19 10:12:07
    remove() 函数用于移除列表中 某个值的第一个匹配项,如果有多个则删除第一个 , 注意list中不存在x,执行会报错 无法指定位置进行删除 &amp;gt;&amp;gt;&amp;gt; a=[1,2,3,4,1,2,4,5] &amp;gt;&...
  • python-列表(List)

    2020-12-13 15:06:26
    列表初始化 列表的定义分为以下几种: lst = list() lst = [] lst = [2,6,9,‘ab’] lst = list(range(5)) ...1.index(value,[start,[stop]]) 从指定区间查找列表元素是否匹配匹配到第一个就返回
  • 列表1(set集合) 匹配 列表2内元素(有重复元素),然后将列表1内每个元素对应列表2的索引集合组合成字典,但我发现一但·行数达到几十万条时后,匹配效率太低,匹配次数为len(列表1)*len(列表2).,,请问下...
  • #列表的一些常用操作 #1.insert方法:在列表中插入某些数据 # a = [1,2,4,6] # a.insert(0,5) # print(a) #2.pop方法:弹出列表的最后一个元素,并且返回该元素...#3.remove方法:移除列表中第一个匹配匹配元素,...
  • python列表常用操作

    2020-04-06 21:17:57
    append :在列表末尾添加元素。 count :统计某个元素列表中出现的次数。 extend :将一个列表元素追加到另外一个列表中。 index :找出列表中第一个某个值的...remove 方法:移除列表中第一个匹配元素,不会...
  • list.count(obj)统计某个元素列表中出现的次数 list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) list.index(obj)从列表中找出某个值第一个匹配项的索引位置 list.insert...
  • 访问列表中的元素时,从0开始。还可以用负数,比如 bugs[-1] ,取最后一个数;或者表示范围,bugs[-1 : 1]。顾左不顾右。 对于列表的常用操作有 list.append(obj) 在列表末端添加元素 list.insert(index, obj) 把...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 306
精华内容 122
关键字:

python匹配列表元素

python 订阅