精华内容
下载资源
问答
  • Python数组列表过滤

    千次阅读 2019-05-25 23:48:51
    print(re.findall('[\d]{4}-[\d]+-[\d]*', s)) # *匹配0次或多次。\d相当于[0-9] print(re.findall('[0-9]+[.][0-9]+', s)) # 寻找浮点数。+号,匹配1次或多次。 #print(re.findall(r'.C')) cRegex = re.compile(r'...

    假设有一个数字和列表数据集,过滤掉其中某些不符合规则的元素,输出符合过滤条件的元素:

    import re
    
    
    values = ['11.2', 'a2', '3.5', '3b', '2', '-3', 'Z', '-4.67', 'H', '.5', '101']
    
    def is_num(val):
        try:
            float(val)
            return True
        except:
            return False
    
    
    vals = list(filter(is_num, values))
    print(vals)
    
    
    #下面给出一个正则的例子。
    s = '2019-03-17zhang2019-3-18phil123fly45.67csdn 89。C'
    print(re.findall('[\d]{4}-[\d]+-[\d]*', s))  # *匹配0次或多次。\d相当于[0-9]
    print(re.findall('[0-9]+[.][0-9]+', s))  # 寻找浮点数。+号,匹配1次或多次。
    #print(re.findall(r'.C'))
    
    cRegex = re.compile(r' .+。C')  # . 通配符。.+通配1到多次。
    print(cRegex.findall(s))
    

    输出:

    ['11.2', '3.5', '2', '-3', '-4.67', '.5', '101']
    ['2019-03-17', '2019-3-18']
    ['45.67']
    [' 89。C']
    
    

     

    展开全文
  • python数组操作

    千次阅读 2018-09-17 10:26:02
    list.remove(obj) #移除列表中某个值的第一个匹配项 排序: list.reverse() #反向列表中元素,如[1,2,3]变为[3,2,1] list.sort(cmp=None, key=None, reverse=False) #对原列表进行排序  >>cmp -- 可选, ...

    定义:
    lista=[]                              #定义一个空集
    lista=[1,2,3,4]                   #定义时直接赋值
    lista=[[1,2],[2,3],[3,4]]       #定义二维数组

    访问:
    list[index]                       #取得数组第一维(取行)
    list[index][subindex]       #取得数组第二维(取值)
    [x[2] for x in list]             #取得数组第三列(取列)

    统计:
    len(list)                            #数组的长度,如len([1,2,3,1]) =>4
    list.count(obj)                  #obj在list数组中出现的次数,如[1,2,3,1].count(1) =>2
    max(list)                          #求list数组中的最大值,如max([1,2,3,1]) =>3
    min(list)                           #求list数组中的最小值,如max([1,2,3,1]) =>1

    添加:
    list.append(obj)              #在list数组的末尾添加元素obj
    list.insert(index, obj)       #在list数组的index索引位置插入元素obj
    list.extend(seq)               #在list列表末尾一次性追加另一个序列seq中的多个值(用新列表扩展原来的列表)
    list=list1+list2                  #同上,上例相当于list=list+seq

    删除:
    del list[2]                         #删除list数组下标为2的元素
    list.pop([index=-1])         #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    list.remove(obj)              #移除列表中某个值的第一个匹配项

    排序:
    list.reverse()                   #反向列表中元素,如[1,2,3]变为[3,2,1]
    list.sort(cmp=None, key=None, reverse=False)           #对原列表进行排序
        >>cmp -- 可选, 自定义排序方法。
        >>key -- 可选,指定用来进行比较的元素。
        >>reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

    #示例1
    listd = ['e', 'a', 'u', 'o', 'i']     #定义
    listd.sort(reverse=True)              #反向排序
    print(listd)                          #['u', 'o', 'i', 'e', 'a']
    
    #示例2
    # 获取列表的第二个元素
    def takeSecond(elem):
        return elem[1]
    # 列表
    random = [(2, 2), (3, 4), (4, 1), (1, 3)]
    # 指定第二个元素排序
    random.sort(key=takeSecond)
    # 输出:[(4, 1), (2, 2), (1, 3), (3, 4)]
    print(random)

    去重:
    list=set(list)                #set([1,2,3,1])  =>[1,2,3]

    比较:
    cmp(list1, list2) 
        >>如果比较的元素是同类型的,则比较其值,返回结果。
        >>如果两个元素不是同一种类型,则检查它们是否是数字。
            如果是数字,执行必要的数字强制类型转换,然后比较。
            如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")
            否则,通过类型名字的字母顺序进行比较。
        >>如果有一个列表首先到达末尾,则另一个长一点的列表"大"。
        >>如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。

    转化:
    list(seq)           #将元组转换为列表
    str(list)             #将列表转化为字符串

    运算:
    1. 差集

    方法a:
    ret_list = [item for item in a_list if item not in b_list]
    方法b:
    ret_list = list(set(a_list)^set(b_list))
    2. 并集
    ret_list = list(set(a_list).union(set(b_list)))
    3. 交集
    ret_list = list((set(a_list).union(set(b_list)))^(set(a_list)^set(b_list)))

    展开全文
  • Python 数组指令

    2017-11-24 14:56:19
    数组中添加元素 可以通过append方法在列表的末尾添加单个元素 x = [1,2,3] x.append(4) 或者使用extend方法在列表末位添加多个元素,参数就变成了列表 x.append([4,5,6]) 或者使用insert方法在任意位置添加元素,...
    • 往数组中添加元素

    • 可以通过append方法在列表的末尾添加单个元素

    x = [1,2,3]
    x.append(4)
    • 或者使用extend方法在列表末位添加多个元素,参数就变成了列表
    x.append([4,5,6])
    • 或者使用insert方法在任意位置添加元素,第一个参数是插入元素的位置,第二个参数是插入元素的值
    x.insert(0,-1)
    • 删除

    • 使用del关键字删除指定位置的元素

    input = [1,2,3,4]
    del input[1]
    • 使用pop方法删除指定位置的元素
    input = [1,2,4,5,6]
    input.pop(2)
    • 注意list的pop方法如果指定参数的话,会删除指定索引位置的元素,如果未指定将删除list的最后一个元素。

    • remove() 函数用于移除列表中某个值的第一个匹配项。

    aList = [123, 'xyz', 'zara', 'abc', 'xyz'];
    
    aList.remove('xyz');
    print "List : ", aList;
    aList.remove('abc');
    print "List : ", aList;

    以上实例输出结果如下:

    List :  [123, 'zara', 'abc', 'xyz']
    List :  [123, 'zara', 'xyz']
    • 排序
    list.sort()
    展开全文
  • Python之父:为什么Python数组下标从0开始曾经有人在Twitter上问我为什么Python使用以0为首位的数组索引法(0-based),并且还给我了一个相关优秀文章的链接。这让我想起许多往事:Python的前身之一,ABC语言使用的是...

    Python之父:为什么Python数组下标从0开始

    曾经有人在Twitter上问我为什么Python使用以0为首位的数组索引法(0-based),并且还给我了一个相关优秀文章的链接。这让我想起许多往事:Python的前身之一,ABC语言使用的是以1为首位的数组索引方式(1-based),而对Python有着巨大影响的C语言则使用的是0-based。我早期开发的程序语言(Algol、Fortran、Pascal)有的使用1-based,有的则比较灵活。我认为切片语法是我做出这个决定的原因之一。

    我们先来看看切片语法的使用吧。它最常见的使用应该是“切出数组的前n位”和“切出数组第i位后的 n位”(前者是后者在i==起始位下的特例)。如果我们不需要使用难看的+1或-1补偿方式,那么代码就会美观许多。

    通过使用0-based索引法,Python的半开区间以及缺省匹配区间都很美观,如:a[:n] 和a[i:i+n];前者是a[0:n]的省略写法。

    在1-based索引法下,如果你想用a[:n]来表示切出前n个元素的话,你只能选择在切片语法中使用切片起始位和切片长度2个参数,或者闭区间的用法。使用1-based索引法,半开区间切片语法就显得不够美观。同样地,使用闭区间切片语法的话,你只能用a[i:i+n-1]来表示从第i位取n个元素。所以如果使用1-based索引法的话,使用切片长度更合适。你可以写成a[i:n]。事实上,ABC语言就是这样的——它用了一种特殊的用法,写为a@i|n。(参考http://homepages.cwi.nl/~steven/abc/qr.html#EXPRESSIONS)

    但是index:length的用法适合其它情况吗?老实说,我不太记得了,但我想我当时的确很喜欢它美观的半开区间语法。特别是两个切片操作位置相邻并且第一个切片操作的终点索引就是第二个切片的起点索引的时候,它的写法实在是太漂亮了。比如,你想以i , j两点来切分一个数组的话,它们将会是a[:i]、a[i:j]、和 a[j:]。

    这就是Python 使用0-based索引法的原因。

    (文章转自网络)

    展开全文
  • 标签:在Python中,由于不像C++/Java这样的语言可以方便的用a[i][j]=0的方式,建立二维数组并赋初值,所以需要一个相对巧妙的方法。可以用列表解析的方式,eg:>>> mat=[[0 for i in range(5)] for j in range(5)]>>>...
  • python数组基本操作总结

    万次阅读 多人点赞 2018-06-19 18:26:42
     arr04.shape = (4,3) #先把3*4数组变成一维列表,再排成4*3数组数组元素总数不变的;  例:  修改前:  [[1, 5, 6, 3], [4, 4, 6, 4], [1, 1, 7, 6]]     修改后:    [[1, 5, 6], [3, 4, 4], [6...
  • 一、概述在Numpy中当数组进行运算时,如果两个数组的形状相同,那么两个数组相乘就是两个数组的对应位相乘,这是要求维数相乘,并且各维度的长度相同,但是当运算中两个数组的形状不同使时,numpy将会自动触发广播机制,...
  • 曾经有人在Twitter上问我为什么Python使用以0为首位的数组索引法(0-based),并且还给我了一个相关优秀文章的链接。这让我想起许多往事:Python的前身之一,ABC语言使用的是以1为首位的数组索引方式(1-based),而对...
  • Python语言的创始人解释为什么Python数组的索引从0开始 最近有人在Twitter是问我为什么Python使用以0为第一位的数组索引方式(以下简称0-based),并让我看一篇关于这个主题的文章(很有趣)。这引起了我不少的...
  • 最近有人在Twitter是问我为什么Python使用以0为第一位的数组索引方式(以下简称0-based),并让我看一篇关于这个主题的文章(很 有趣)。这引起了我不少的回忆。ABC语言——Python的祖先之一,使用的是以1为第一为的索引...
  • 1.Python初始化指定长度的数组 1.1初始化一维数组 方法1: # 0为数组内初始数据,10位数据长度 list = [0]*10   # 结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 方法2: list2 = [0 for i in range(10)] # 结果...
  • 为什么Python数组的索引从0开始

    千次阅读 2014-06-30 11:27:42
    最近有人在Twitter是问我为什么Python使用以0为第一位的数组索引方式(以下简称0-based),并让我看一篇关于这个主题的文章(很有趣)。这引起了我不少的回忆。ABC语言——Python的祖先之一,使用的是以1为第一位的索引...
  • 曾经有人在Twitter上问我为什么Python使用以0为首位的数组索引法(0-based),并且还给我了一个相关优秀文章的链接。这让我想起许多往事:Python的前身之一,ABC语言使用的是以1为首位的数组索引方式(1-based),而对...
  • 假设一个单调递增的数组里的每个元素都是整数并且是唯一的。请编程实现一个函数找出数组中任意一个数值等于其下标的元素。例如,在数组[-3, -1, 1, 3, 5]中,数字3和它的下标相等。 样例: 输入:[-3, -1, 1, 3, 5] ...
  • 然后将括号的左和右分成两组List,我们将传进来的参数一次遍历匹配左边括号的话,就进行压栈, 右边括号的话并且用dict结构存储的获取当前元素与栈中存储的是否一致,如果不一致则返回False; """ class ...
  • load1=load2=risefallmean...顺便问问怎么匹配到新文件替换数据 展开
  • Python3 数组

    千次阅读 2019-03-01 22:33:47
    Python数组通过Numpy包的array实现。 Python里二者最大的区别是,list可以存储不同类型的数据,而array只能存储相同类型的数据。 import numpy #直接定义 a = [1,2,3,4,'5'] #列表list,可以混合类型 b = numpy....
  • I'm working in python 2.7 and I have a numpy array with all of the data. Any help would be appreciated, as I have never used fuzzy matching before. I have considered fuzzy matching through a for-loop...
  • I don't remember whether I was dreaming or not but I seem to recall there being a function which allowed something like,foo in iter_attr(array of python objects, attribute name)I've looked over the do...
  • 初步使用python正则表达式匹配数组

    千次阅读 2019-06-20 10:59:19
    初步使用python的正则表达式用于匹配数字 操作系统: Linux python版本: Python 3.5.2 参考文献: 正则表达式之数字验证 简单使用正则库re在命令行验证匹配数字 >>> import re >>> origin...
  • python数组

    千次阅读 2018-10-12 16:06:26
    数组函数 数组推导公式: list = [i for i in range(1,12) if i % 2 == 1] print(list) #>>> [1, ...
  • t(1) ()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。 所以 python...遇到逗号“,”会输出一个空格#开头注释3.python为动态...
  • Numpy是Python中较为常用的模块,今天我们就从Numpy的基础应用讲起,非常适合0基础的小白哦,python系列的基础课程也会持续更新。首先,我们在运用某个模块之前需要先导入这个模块。import numpy numpy.__version__...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,638
精华内容 20,655
关键字:

python数组匹配

python 订阅