python练习题-day16

2019-10-23 15:01:49 浏览数 (1)

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

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

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

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

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

代码语言:javascript复制
shares={
   'IBM':36.6,
   'Lenovo':23.2,
     'oldboy':21.2,
    'ocean':10.2,
       }

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

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

代码语言:javascript复制
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的股票。

代码语言:javascript复制
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.有如下数据类型:

代码语言:javascript复制
               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条,仅输出当页的内容

代码语言:javascript复制
#1
li=map(lambda x:x "_sb",name)
print(list(li))
代码语言:javascript复制
#2
li=map(lambda x:{"name":x.get("name") "_sb"},l)
print(list(li))
#2_方法二
代码语言:javascript复制
#3
s=filter(lambda i:shares.get(i)>20,shares)
print(list(s))
代码语言:javascript复制
#4
g=map(lambda x:x.get("shares")*x.get("price"),portfolio)
print(list(g))
代码语言:javascript复制
#5
g=filter(lambda x:x.get("price")>100,portfolio)
print(list(g))
代码语言:javascript复制
#6
g=zip(l1[2:],l2[2:],tu[2:])
print(list(g))
代码语言:javascript复制
#7
g=sorted(l1,key=lambda x:x.get('sales_volumn'))
print(g)
代码语言:javascript复制
#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]

0 人点赞