精华内容
下载资源
问答
  • 时间忙与换工作,好久没有写blog了。以前公司只用oracle数据库,而且开发用jdbcTemplate,什么查询了之类...需要从一个列表里面找到某一个字段最大序号,可这个列是字符串类型,格式为‘省份’+'部门'+顺序...

      前段时间忙与换工作,好久没有写blog了。以前公司只用oracle数据库,而且开发用jdbcTemplate,什么查询了之类的直接用sql语句就搞定了,可现在改用hebernate,同时公司说要考虑各数据库兼容性的问题,所以许多oracle特有的特性便不能使用,这不,现在就遇到了一个问题需要解决了,需要从一个列表里面找到某一个字段的最大序号,可这个列是字符串类型,格式为‘省份’+'部门'+顺序号,现在需要根据省份以及部门找到最大的序号,我以前用sql语句很容易就可以解决该问题了.解决办法:
     先取该列中的序号,然后将其转化为整型,再取最大值就可以,sql语句如下:

     select max(to_number(substr(列名,前缀长度))) maxnum from 表名

     
      现在要用hql解决,而我以前也不了解hql,还要有internet,从网上找了找资料,还真找到了,hql也提供获取子串的函数,SUBSTRING(s,offset,length)得到hql语句:

    selelct  max(SUBSTRING(对象.属性名,前缀长度)) from 对象,

     
      测试了一下,发现结果正确,呵呵,有点沾沾自喜了,可是运行了一段时间,却发现序号超过了10的时候,出现问题了,每次取到最大值都是10,执行sql语句发现没有将子字串转化为整形,导致排序是按照字符串类型排序的,再上网查找hql的类型转化,找到了类型转化函数,CAST(t as TYPE)。
      修改hql语句为:

    selelct  max( CAST(SUBSTRING(对象.属性名,前缀长度),integer)) from 对象
    

     

     

    执行sql语句,问题搞定。

    这里参考了javaeye中http://wangtong40.iteye.com/blog/355624的文章中的hql方法,感谢一下。

    展开全文
  • **列表切片,**最简单的理解就是,数组中的某一段数据 接下来我们来看一下维数的理解,然后结合代码深入了解一下 首先来看一下简单的列表切片 import numpy as np a=np.array([[11,12,13,14,15,16,17,18,19], ...

    众所周知,python里没有数组,有的是类似于c语言的列表
    列表切片最简单的理解就是,取数组中的某一段数据
    接下来我们来看一下维数的理解,然后结合代码深入了解一下
    在这里插入图片描述

    首先来看一下简单的列表切片

    import  numpy as np
    a=np.array([[11,12,13,14,15,16,17,18,19],
                [21,22,23,24,25,26,27,28,29],
                [31,32,33,34,35,36,37,38,39],
                [41,42,43,44,45,46,47,48,49],
                [51,52,53,54,55,56,57,58,59],
                [61,62,63,64,65,66,67,68,69],
                [71,72,73,74,75,76,77,78,79],
                [81,82,83,84,85,86,87,88,89],
                [91,92,93,94,95,96,97,98,99],
                ])
    #print(a[0:4:2,0:4:2])
    

    结果如下

    [[11 13]
     [31 33]]
    [[11 13 15 17 19]
     [31 33 35 37 39]
     [51 53 55 57 59]
     [71 73 75 77 79]
     [91 93 95 97 99]]
    
    

    numpy.newaxis效果和None是一样的,None是它的别名
    【None】就是增加了一个维数
    nexaxis的讲解在我这篇博客中
    nexaxis

    import  numpy as np
    a=np.array([[11,12,13,14,15,16,17,18,19],
                [21,22,23,24,25,26,27,28,29],
                [31,32,33,34,35,36,37,38,39],
                [41,42,43,44,45,46,47,48,49],
                [51,52,53,54,55,56,57,58,59],
                [61,62,63,64,65,66,67,68,69],
                [71,72,73,74,75,76,77,78,79],
                [81,82,83,84,85,86,87,88,89],
                [91,92,93,94,95,96,97,98,99],
                ])
    #print(a[0:4:2,0:4:2])
    print(a[0:9:2,0:9:2])
    
    print('0维为None:')
    print(a[None,0:4])
    print('1维为None:')
    print(a[0:9,None])
    

    结果如下

    [[11 13 15 17 19]
     [31 33 35 37 39]
     [51 53 55 57 59]
     [71 73 75 77 79]
     [91 93 95 97 99]]
    0维为None:
    [[[11 12 13 14 15 16 17 18 19]
      [21 22 23 24 25 26 27 28 29]
      [31 32 33 34 35 36 37 38 39]
      [41 42 43 44 45 46 47 48 49]]]
    1维为None:
    [[[11 12 13 14 15 16 17 18 19]]
    
     [[21 22 23 24 25 26 27 28 29]]
    
     [[31 32 33 34 35 36 37 38 39]]
    
     [[41 42 43 44 45 46 47 48 49]]
    
     [[51 52 53 54 55 56 57 58 59]]
    
     [[61 62 63 64 65 66 67 68 69]]
    
     [[71 72 73 74 75 76 77 78 79]]
    
     [[81 82 83 84 85 86 87 88 89]]
    
     [[91 92 93 94 95 96 97 98 99]]]
    
    
    展开全文
  • 第四节 -- 列表

    2018-01-18 09:57:00
    列表的功能:创建、查询、切片、增加、修改、删除、循环、排序创建列表表现形式为中括号[ ]或list()切片(取某一段的数值)的语法表示为冒号: 切的数值顾头不顾尾 最末值的时候,第二个数值不写,例如[-2:]步长...

    列表是一个数据的集合,集合内可以放任何数据类型,可对集合内进行方便的增删改查操作。
    列表的功能:创建、查询、切片、增加、修改、删除、循环、排序
    创建列表表现形式为中括号[ ]或list()

    切片(取某一段的数值)的语法表示为冒号: 切取的数值顾头不顾尾 取最末值的时候,第二个数值不写,例如[-2:]
    步长就是跳着取值,表现形式为[::]

    修改就是直接输入索引值后把数值替换掉就行了   list[“索引”]=["元素"]

    center(距离,字符)center(10,-) 表示效果为(------------center----------)

    序号   名称 含义 表现形式
    1 append 在列表末尾里追加 list.append("元素“)
    2 insert 插入元素 list.insert("元素")
    3 pop 删除列表里的一个元素(默认最后一个元素),并且返回该元素的值 list.pop("索引")
    4 len 获取列表的长度 len(list)
    5 extend 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) list.extend(list2)
    6 remove 删除  list.remove(‘元素’)
    7 del 也是删除,但不限于列表,是python中全局性指令  
    8 sort 排序 list.sort()
    9 reverse 倒叙 list.reverse()
    10 clear 清空整个列表 list.clear()
    11 copy 复制列表 list.copy()
    12 index 查找索引值 list.index("元素“)
    13 count  统计列表中元素的个数 list.count("元素")

     

    转载于:https://www.cnblogs.com/moncherk/p/8296402.html

    展开全文
  • 一、切片 在写程序的时候经常会用到某个列表或者元组中的某一个元素或者是某一段元素,可以使用循环实现,在Python中也可以使用切片实现。

    一、切片

    在写程序的时候经常会用到取某个列表或者元组中的某一个元素或者是某一段元素,可以使用循环实现,在Python中也可以使用切片实现。

    格式:

    L1 = ['test1','test2','test3','test4']
    print L1
    //     开始位置:结束位置,从0开始取值,直到结束位置减一,即 下标元素 0  1
    L2 = L1[0:2]
    同上
    # L2 = L1[:2]
    print L2
    从下标0开始取值到下标2-1的位置,在这段值期间隔2个取一个值
    L3 = L1[0:2:2]
    print L3
    
    S = 'ABCDEFGHIJKLMN'
    print S[:2]
    print S[1:3]
    从下标1开始,直到6-1的位置,每隔2个取一个值
     print S[1:6:2]

    二、迭代

    很容易理解,在C语言中,如果要遍历一个数组一般都是根据数组的下标开始遍历整个数组,然后根据下标访问数组中的元素,但是在Python中,列表字典等这样的,可以通过For...in....直接遍历列表中的元素。这样的遍历方式就是迭代。

    参考

    三、列表生成式

    是Python内置的非常简单却强大的可以用来创建list的生成式

    如果要生成一个列表的所有元素,可以通过循环然后将生成的元素追加到列表中,这样也实现了列表的生成,但是比较麻烦,所以在Python中可以通过列表生成式快速的生成一个列表:

    s = [x * x for x in range(1, 11)]
    print s

    这个语句执行的结果是生成一组数据,这些数据存储在列表中。

    在写列表生成式的时候把要生成的结果放在前面,后面是一个循环,再循环的后面还可以添加上判断

    s = [x * x for x in range(1, 11) if x % 2 == 0]
    print s

    先执行循环生成一个数据,然后执行后面的判断,然后再执行最后的x*x

    还可以使用两层循环

    s = [m + n for m in 'ABCDEFG' for n in 'XYZ']
    print s

    这一语句的实现和C语言的循环嵌套一样,第二个循环在第一个循环里面。最前面的表达式是结果。

    还可以使用多个变量

    d = {'key1':'value1','key2':'value2','key3':'value3'}
    s = [key + '=' + value for key , value in d.iteritems()]
    print s

    将一个列表中的所有字符串变成小写生成一个列表:

    L = ['Hello','World',18,'Apple',None]
    k = [x.lower() for x in L if isinstance(x,str)]
    print k

    内建的isinstance函数可以判断一个变量是不是字符串

    isinstance(x, str)
    会返回True  False

    四、生成器

    生成器和列表生成式的差别:列表生成式执行过之后结果都已经生成存储在内存中,生成器执行过之后并没有实际的数据存储在内存中,当你在使用列表生成器中的元素的时候,才会有实际的数据生成。表达式和列表生成式的区别在于一个是[ ]  一个是 ( ),

    k = (x.lower() for x in L if isinstance(x,str))
    print k

    这样直接打印出来的k不是一个数据而是一个地址,如何获取生成器中的数据呢?可以通过生成器的next函数获取。调用一次就会得到下一个元素。生成器也是可以迭代的

    L = ['Hello','World',18,'Apple',None]
    k = (x.lower() for x in L if isinstance(x,str))
    for x in k:
        print x

    参考


    展开全文
  • 列表 列表:存储在中括号中[ ],...切片:从列表中取出某一段元素,比如list[2:] 出来元素为[2.34],仍以列表显示 切片取值公式:左右空,到头,左要,右不 list1=[1,2,3,4,5,6] list1[:] [1,2,3,4,5,6] list
  • 一,切片 切片是指对操作对象截取其中一部分操作。字符串、列表、元组都支持切片操作。 切片语法:[起始:结束:步长],也可以简化使用...#切片是通过下标去某一段元素 s = 'Hello World!' print(s) print(s[4]...
  • 例如定义个包含 N 个指向返回指向字符指针函数指针数组? o 2.8 函数只定义了次, 调用了次, 但编译器提示非法重定义了。 o 2.9 main() 正确定义是什么? void main() 正确吗? o 2.10 对于没有...
  • 切片就是部分元素是非常...我们先创建一个-5-5数列:输出结果:[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]通过切片轻松取出某一段数列。比如前6个数:输出结果:[-5, -4, -3, -2, -1, 0] ,-5 到0刚好6个数。后...
  • Block基本使用

    2019-09-29 16:03:31
    1.什么是Block Block是iOS中一种比较特殊...用来保存某一段代码, 可以在恰当时间再出来调用 功能类似于函数和方法 2.block格式 Block定义格式 返回值类型 (^block变量名)(形参列表) = ^(形参列表) ...
  • 切片:截取序列(字符串,列表,元组等)中某一段字符,并不改变原数据和数据类型。结构:[起始位置:终止位置:步长] 但不包括终止位置。所谓:顾头不顾尾。 索引:序列中每个元素都是有编号,都是从0开始编号...
  • 因为一个BUG, 我在一个摇摇欲坠,几乎碰一下就会散架项目中某一个角落中发现下面这样一段代码 这段程序与那个BUG有密切关系。 我来回反复捉摸这段代码, 发现这段代码实现了两个功能 第一个是在一个从...
  • 因为一个BUG, 我在一个摇摇欲坠,几乎碰一下就会散架项目中某一个角落中发现下面这样一段代码 这段程序与那个BUG有密切关系。 我来回反复捉摸这段代码, 发现这段代码实现了两个功能 第一个是在一个从...
  • 主子填报表制作

    2020-05-11 10:48:35
    这类填报表,一般包含上面两部分,上半部分为主表,下半部分为子表,这两部分数据分别自不同物理表。常见格式要求主表以自由格式展现,子表以列表格式展现,两部分均可填报,且提交保存到多张物理表时,保证...
  • python 处理字符串方法

    千次阅读 2018-03-29 18:31:04
    findfind方法可以在个较长字符串中查找子字符串。它返回子串所在位置最左端...find方法其实和列表取步长方法联用来截取某段需要字符串。>>> a = 'hello world' >>&gt
  • Python_高级特性

    2014-09-04 23:47:24
    我们要一个list中的某一部分的元素的我们可以使用判断+循环实现,在Python提供了专门的方法--切片 slice切片,用来获取list中某一段元素 tuple、str等都看做是一种list只是使用切片获取的片段还是他们原来相应的...
  • -重新设计模拟树的下拉列表的实现,避免选中项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和...
  • 31.求某段时间内星期几天数 61 32.根据进舍位或四舍五入来求值 63 33.字符串转成16进制函数 64 34.去掉字段中多个带区号电话号码前面区号 65 35.SQL2000/2005字符串拆分为列表通用函数 67 36.求字符串中汉字...
  • 你必须知道495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    1.24 我在个文件中定义了个extern数组,然后在另个文件中使用,为什么sizeof不到数组大小? 声明问题 1.25 函数只定义了次,调用了次,但编译器提示非法重声明了。 *1.26 main正确定义是什么...
  • 它将编译程序标志列表指定为个用逗号分隔字符串列表。 值范围: native (PL/SQL 模块将按本机代码来编译。), interpreted (然后 PL/SQL 模块将被编译为 PL/SQL 字节代码格式), debug (PL/SQL 模块将用探测调试...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 138
精华内容 55
关键字:

tabvant