python练习题-day16

1.用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb

name=["alex","wupeiqi","yuanhao","nezha"]

2.用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾

       l=[{'name':'alex'},{'name':'y'}]

3.用filter来处理,得到股票价格大于20的股票名字

shares={
   'IBM':36.6,
   'Lenovo':23.2,
     'oldboy':21.2,
    'ocean':10.2,
       }

4.有下面字典,得到购买每只股票的总价格,并放在一个迭代器中。

结果:list一下[9110.0, 27161.0,......]

portfolio = [

  {'name': 'IBM', 'shares': 100, 'price': 91.1},

    {'name': 'AAPL', 'shares': 50, 'price': 543.22},

    {'name': 'FB', 'shares': 200, 'price': 21.09},

    {'name': 'HPQ', 'shares': 35, 'price': 31.75},

    {'name': 'YHOO', 'shares': 45, 'price': 16.35},

{'name': 'ACME', 'shares': 75, 'price': 115.65}]

 

5.还是上面的字典,用filter过滤出单价大于100的股票。

portfolio = [

{'name': 'IBM', 'shares': 100, 'price': 91.1},

{'name': 'AAPL', 'shares': 50, 'price': 543.22},

{'name': 'FB', 'shares': 200, 'price': 21.09},

{'name': 'HPQ', 'shares': 35, 'price': 31.75},

{'name': 'YHOO', 'shares': 45, 'price': 16.35},

{'name': 'ACME', 'shares': 75, 'price': 115.65}]

6.有下列三种数据类型,

               l1 = [1,2,3,4,5,6]

               l2 = ['oldboy','alex','wusir','太白','日天']

               tu = ('**','***','****','*******')
写代码,最终得到的是(每个元祖第一个元素>2,第三个*至少是4个)
               [(3, 'wusir', '****'), (4, '太白', '*******')]这样的数据。
7.有如下数据类型:

               l1 = [ {'sales_volumn': 0},

                         {'sales_volumn': 108},

                         {'sales_volumn': 337},

                         {'sales_volumn': 475},

                         {'sales_volumn': 396},

                         {'sales_volumn': 172},

                         {'sales_volumn': 9},

                         {'sales_volumn': 58},

                         {'sales_volumn': 272},

                         {'sales_volumn': 456},

                         {'sales_volumn': 440},

                         {'sales_volumn': 239}]
将l1按照列表中的每个字典的values大小进行排序,形成一个新的列表。

8.随意写一个20行以上的文件,运行程序,先将内容读到内存中,用列表存储,接收用户输入页码,每页5条,仅输出当页的内容

#1
li=map(lambda x:x+"_sb",name)
print(list(li))
#2
li=map(lambda x:{"name":x.get("name")+"_sb"},l)
print(list(li))
#2_方法二
li=map(lambda x:{"".join(list(x.keys())):x.get("".join(list(x.keys())))+"_sb"},l)
print(list(li))

 

#3
s=filter(lambda i:shares.get(i)>20,shares)
print(list(s))

 

#4
g=map(lambda x:x.get("shares")*x.get("price"),portfolio)
print(list(g))
#5
g=filter(lambda x:x.get("price")>100,portfolio)
print(list(g))
#6
g=zip(l1[2:],l2[2:],tu[2:])
print(list(g))
#7
g=sorted(l1,key=lambda x:x.get('sales_volumn'))
print(g)
#8
def user_read(file):
    li=[]
    with open(file,encoding="utf-8") as f1:
        for i in f1:
            li.append(i.strip())
    while True:
        paper=input("请输入页码:")
        if paper.isalpha():
            print("输入有误,请重新输入:")
            continue
        elif paper.isdigit():
            if int(paper)>(len(li)//5)+1:
                print("输入有误,请重新输入:")
                continue
            if int(paper)<=0:
                print("输入有误,请重新输入:")
                continue
            else:
                break
    return li[(int(paper)-1)*5:(int(paper))*5]

 

上一篇:java学习day16-Set集合的理解


下一篇:day16.内置方法与模块