码迷,mamicode.com
首页 > 编程语言 > 详细

python

时间:2018-08-17 17:13:39      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:cti   类方法   error   列表解析   disjoint   enumerate   remove   不可变   迭代   

封装和结构 先将等式右边的封装,再按线性要求给左边,中间再加上*号表示收集剩下的组成一个列表 例如 a, b=1,2 head, *mid, tail =‘abcdef‘(head = ‘a‘ mid = [‘b‘ , ‘c‘ , ‘d‘ , ‘e‘] tail = ‘f‘ 其中head和tail是字符串,mid是列表) 集set的定义 set的元素必须可hash 可变的对象不可hash 元素不可索引,但set可以被迭代,不过迭代的是没有顺序的 add(elem) 增加元素,如果元素存在,则什么都不做 update(*others) 合并其他set和可迭代对象,是就地修改 remove 从set中移除一个元素 当元素存在,会抛出KeyError异常(用discard时,元素不存在时,什么都不做) pop()》》item 移除并返回任意的元素,空集返回KeyError异常 clear() ****set,dict等结构,内部使用hash值作为key,时间复杂读可以做到O(1),查询时间与数据规模无关 线性结构的查询时间复杂度是O(n),即随着数据规模的增大而增加耗时 可hash的东西 数值型int,float,complex 布尔型True,False 字符串string,bytes tuple None 以上都是不可变类型,成为可哈希类型,hashable 并集 union(*others) 运算符 | update(*others)就地修改 运算符 |= 交集 intersection(*others) 运算符 & intersection_update(*others) 就地修改 运算符 &= 差集 difference_update(*others) 运算符 - 获取和多个集合的差集并就地修改 运算符 -= 对称差集 symmetric_differece(other) 运算符^ symmetric_difference_update(other) 运算符^= 集合方面的运算 (1)issubset(other),<= (2)< (3)issuperset(other),>= (4)> (5)isdisjoint(other)#当前集合和另外一个集合没有交集,返回True or Flase 字典:dict》》keys values items dict和set差不多,无序,key可hash,不过dict多了一个Value值 标准库的datetime datetime模块 datetime类 类方法 datetime对象 ***时间一般来说就是加减法的问题 ***time.sleep(secs)将调用线程挂起指定的秒数 列表解析式,生成器,字典解析式(其中生成器只能走一次,并且不能回头,节省空间) 内建函数 枚举 enumerate(seq,start=0) 迭代一个序列,返回索引数字和元素组成的二元组(返回的是一个生成器) 迭代器和取元素 iter(iterable),next(iterator[,default]) 拉链函数zip(*iterables) 可以将多个迭代器合并再一起,返回一个迭代器 将每次从不同对象中取到的元素合并成一个元组
 nums = [1,2,34,5,7,12,34,5,7,4,2,2]
lengh = len(nums)
for i in range(lengh//2):
    maxindex = i
    minindex = -i-1
    for j in range(i+1,lengh-i):
        if nums[j] > nums[maxindex]:
            maxindex = j
        if nums[-j-1] < nums[minindex]:
            minindex = -j-1
    if nums[maxindex]==nums[minindex]:
        break
    if maxindex != i:
        nums[i],nums[maxindex] = nums[maxindex],nums[i]
        if minindex == i-lengh:
            minindex = maxindex
    if minindex != -i-1 and nums[minindex] != nums[-i-1]:
        nums[-i-1], nums[minindex] = nums[minindex], nums[-i-1]
print(nums)

python

标签:cti   类方法   error   列表解析   disjoint   enumerate   remove   不可变   迭代   

原文地址:http://blog.51cto.com/13887608/2161261

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!