列表推导式练习

使用列表推导式完成找到嵌套列表中名字含有两个'e'的所有名字
方法1:
names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
        ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
lis = [i for i in range(0,len(names))]
for i in names:
    for j in i:
        if j.count("e") >= 2:
            print(j,end=", ")       
# Jefferson, Wesley, Steven, Jennifer,

方法2:
names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
        ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
print([name for lst in names for name in lst if name.count('e') >= 2])    
# ['Jefferson', 'Wesley', 'Steven', 'Jennifer']

 

 
合并大小写对应的value值,将key统一成小写
# 方法1:
mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
ase = {re.lower() : mcase.get(re.lower(), 0) + mcase.get(re.upper(), 0) for re in mcase}
print(ase)     # {'a': 17, 'b': 34, 'z': 3}

# 方法2:
mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
ase = {}
for re in mcase :
    ase[re.lower()] = mcase.get(re.lower(), 0) + mcase.get(re.upper(), 0)
print(ase)     # {'a': 17, 'b': 34, 'z': 3}

 

 
 
posted @ 2020-07-16 11:33  马ある某  阅读(256)  评论(0编辑  收藏  举报