列表推导式

1-100 的平方

[x * x for x in range(100)] 书写习惯为从右至左 依次写出range(100) 然后for 循环 然后x * x 然后放进List

生成字符串

 ["The %s" % x for x in range(10)]

生成元组

[(x, y) for x in range(2) for y in range(2)]

生成字典

dict([(x, y) for x in range(2) for y in range(2)])

字符串中的数字取出

a = "ababaff12345"

print (' '.join([ x for x in a if x.isdigit() ]))

输出(字典)字符串中的字母数量 忽略大小写

a = "wdhshfAADFFgrehh"

a = a.lower()

print dict([(s, a.count(s)) for s in set(a)])

输出字符串中出现频率最高的字符

"""
输出字符串中出现频率最高的字符
统计每个字符出现的次数可以生成一个元组('a',3)列表推导式
指定index进行排序
"""
a = "agnakjergnjaerkgj"
x = [(i, a.count(i)) for i in a]
x.sort(key= lambda k: k[1], reverse=True)
print x[0][0]

 

删除重复字母只保留出现的第一个

a = "AFsfwjggjiwojbjalaljekg"

a = list(a)

s = list(set(a))

s = s.sort(key = a.index)#原本的排序方式

print ''.join(s)

将字符串按照a-z排序忽略数字并且将大写字母放到对应的小写字母之前AaVv

a = "abdcFGHDJEK3495FHJS@kghkdhklfhlathoa"
"""
将大小写字母排序
输出大写字母在小写字母之后 仅输出字母
1.对字符串排序
2.将大小写字母分别放到两个list
3.将大写字母依次插入到小写字母前边
"""
s = sorted(a)
print s
s_upper = []
s_lower = []
for i in s:
    if i.isupper():
        s_upper.append(i)
    elif i.islower():
        s_lower.append(i)
    else:
        pass
print s_lower,s_upper
for s_up in s_upper:
    ss = s_up.lower()
    if ss in s_lower:
        s_lower.insert(s_lower.index(ss), s_up)
print ''.join(s_lower)

 统计文档中某些单词出现的次数

"""
统计某一个文档中某些单词的出现次数
使用列表推导式
"""
import  os
m = os.popen('python -m this').read()
m = m.replace('\n',' ')
l = m.split(' ')
print ([(i, l.count(i)) for i in ['be','is']])

 

删除

a = [1,2,3]

b = a

del a 仅删除引用 b 依然是[1,2,3]

del a[:] 删除列表里里面的元素值

排序

a = ['123','456','789']

a.sort(key = int) 列表元素为字符串将其转换为整数int 再排序

a = [('a', 1),('b', 2)]

a.sort(key = lambda X : X[1], reverse = true)    ->[('b', 2),('a', 1)]

多级排序

a = [(3,2,1),(4,6,5)]

import operator

a.sort(key = operator.itemgetter(1, 2)) 对元组里面的二三项排序

 

posted @ 2017-09-23 16:31  WangLC  阅读(488)  评论(0)    收藏  举报