python 代码集锦

0 评论
/ /
848 阅读
/
3134 字
31 2018-07
  from itertools import izip, izip_longest, groupby

    s = '$3a4b5cd$d7e'
    result_list = [''.join(list(g)) for k, g in groupby(s, key=lambda x: x.isdigit())]
    # for k, g in groupby(s, key=lambda x: x.isdigit()):
    #     print k, g
    str1 = '$3a4b5cd$d7e'
    # 初始化字符、数字、空格、特殊字符的计数
    str_sum = 0
    dig_sum = 0
    spa_sum = 0
    other_sum = 0
    for strs in str1:
        # 如果在字符串中有字符,那么字符的数量+1
        if strs.isalpha():
            str_sum += 1
        # 如果在字符串中有数字,那么数字的数量+1
        elif strs.isdigit():
            dig_sum += 1
        # 如果在字符串中有空格,那么空格的数量+1
        elif strs == ' ':
            spa_sum += 1
        # 如果在字符串中有特殊字符那么特殊字符的数量+1
        else:
            other_sum += 1
    print "该字符串中的字符有:%d" % str_sum
    print "该字符串中的数字有:%d" % dig_sum
    print "该字符串中的空格有:%d" % spa_sum
    print "该字符串中的特殊字符有:%d" % other_sum

2、列表套字典,重复问题判断

   a = {'a':'123','b': '234'}
    b = {'a':'222','b': '555'}
    c = {'a':'222','b': '666'}
    very_list = []
    very_list.append(a)
    very_list.append(b)
    if c in very_list:
        print 'yes'
    else:
        print 'no'
3、python冒泡排序  
very_list = []
    a = {'a': 'A2', 'b': '234'}
    b = {'a': 'B2', 'b': '555'}
    c = {'a': 'H5', 'b': '666'}
    d = {'a': 'H7', 'b': '666'}
    k = {'a': 'H3', 'b': '666'}
    e = {'a': 'C3', 'b': '555'}
    f = {'a': 'F6', 'b': '555'}
    g = {'a': 'F3', 'b': '555'}
    h = {'a': 'G7', 'b': '555'}
    j = {'a': 'B4', 'b': '555'}
    very_list.append(a)
    very_list.append(b)
    very_list.append(c)
    very_list.append(d)
    very_list.append(e)
    very_list.append(f)
    very_list.append(g)
    very_list.append(h)
    very_list.append(j)
    very_list.append(k)
    for i in range(0, len(very_list)-1):
        for j in range(0, len(very_list)-i-1):
            idict = very_list[j].get("a")
            jdict = very_list[j+1].get("a")
            if idict[0] > jdict[0]:
                very_list[j], very_list[j+1] = very_list[j+1], very_list[j]
    for i in range(0, len(very_list)-1):
        for j in range(0, len(very_list)-i-1):
            idict = very_list[j].get("a")
            jdict = very_list[j+1].get("a")
            if idict[0] == jdict[0]:
                if idict[1] > jdict[1]:
                    very_list[j], very_list[j+1] = very_list[j+1], very_list[j]
    print very_list
4、将一个元素插入列表顶部,如果改元素与列表中已有元素重复,去掉重复的元素    
    very_list = ['a', 'c', 'aa', 'ss', '23']
    very_list.insert(0,'ss')
    aa = list(set(very_list))
    aa.sort(key=very_list.index)
    print aa