python练习题-day16

时间:2021-07-15 02:53:46

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条,仅输出当页的内容

#
li=map(lambda x:x+"_sb",name)
print(list(li))
#
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))
#
s=filter(lambda i:shares.get(i)>20,shares)
print(list(s))
#
g=map(lambda x:x.get("shares")*x.get("price"),portfolio)
print(list(g))
#
g=filter(lambda x:x.get("price")>100,portfolio)
print(list(g))
#
g=zip(l1[2:],l2[2:],tu[2:])
print(list(g))
#
g=sorted(l1,key=lambda x:x.get('sales_volumn'))
print(g)
#
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]