【1.15-1】作业
#
# 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],
# 将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
# 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
li = [11,22,33,44,55,66,77,88,99,90]
item1=[]
item2=[]
items={}
for i in li:
if i >= 66:
item1.append(i)
else:
item2.append(i)
items.setdefault("k1",item1)
items.setdefault("k2",item2)
print items
# 二、查找
# 查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
# li = ["alec", " aric", "Alex", "Tony", "rain"]
# tu = ("alec", " aric", "Alex", "Tony", "rain")
# dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
def findx(arg):
lis=[]
for item in arg:
item1=item.strip()
lis.append(item1)
if item1.endswith("c") and (item1.startswith("a") or item1.startswith("A")):
print item1
return lis
print findx(li)
print tuple(findx(tu))
for k,v in dic.items():
item1 = v.strip()
dic.update({k:item1})
if item1.endswith("c") and (item1.startswith("a") or item1.startswith("A")):
print item1
print dic
2、enumrate
为可迭代的对象添加序号
|
1
2
3
|
li = [11,22,33]for k,v in enumerate(li, 1): print(k,v) |
# 输出商品列表,用户输入序号,显示用户选中的商品
# 商品 li = ["手机", "电脑", '鼠标垫', '游艇']
li = ["shouji", "pc", 'mouse', 'boat']
for key,i in enumerate (li,1):
print (key,i)
user = int(input("输入序号"))
print (li[user-1])
# 功能要求:
#
# 要求用户输入总资产,例如:2000
# 显示商品列表,让用户根据序号选择商品,加入购物车
# 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
# 附加:可充值、某商品移除购物车
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
total = 2000
total_gouwu = 0
gouwujiage = []
for key,i in enumerate(goods,1):
print(key,i)
while True:
choice = raw_input(">>>")
if choice == "q":
break
else:
print goods[int(choice)-1]
price = goods[int(choice)-1].get("price")
gouwujiage.append(price)
if gouwujiage:
for i in gouwujiage:
print i
total_gouwu += int(i)
if total >= total_gouwu:
print "ok"
else:
print "false"
else:
print "什么也没有买"
================排序 按年龄
l=[
{'name':'alex','age':84},
{'name':'oldboy','age':73},
{'name':'egon','age':18},
]
答案:
l.sort(key=lambda item:item['age'])
print(l)
-----------------
#简单购物车,要求如下:
实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
goods_l=[]
while True:
for key,item in msg_dic.items():
print('name:{name} price:{price}'.format(price=item,name=key))
choice=raw_input('商品>>: ').strip()
if not choice or choice not in msg_dic:continue
count=raw_input('购买个数>>: ').strip()
if not count.isdigit():continue
goods_l.append((choice,msg_dic[choice],count))
print(goods_l)
---------------
统计元素个数,并用列表显示
注意这里用了 字典的创建 当字典中没有这个 键 时 用 dict【key】=values 就可以创建一个键值对
s='hello alex alex say hello sb sb'
l=s.split()
dic={}
for item in l:
if item in dic:
dic[item]+=1
else:
dic[item]=1
print dic
print(dic)
dic["abcd"] = 1
print dic
浙公网安备 33010602011771号