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