1,有如下变量(tu是个元祖),请实现要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
讲述元祖的特性
元组: 不可改。以','分割。
请问tu变量中的第一个元素 "alex" 是否可被修改?
不可以被修改
请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
k2是对应值是列表;tu[1][2]['k2'].append('seven');print(tu)
请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
k3对应值是元组不可修改
2, 字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
请循环输出所有的key
for key in dic:
print(key)
请循环输出所有的value
for value in dic:
print(dic[value])
请循环输出所有的key和value
for key in dic:
print('key:%s value:%s'%(key,dic[key]))
请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
dic.update({'k4':'k4'});print(dic)
请在修改字典中 "k1" 对应的值为"alex",输出修改后的字典
dic['k1']='alex';print(dic)
请在k3对应的值中追加一个元素 44,输出修改后的字典
dic['k3'].append(44);print(dic)
请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典
dic['k3'].insert(0,18);print(dic)
3
av_catalog =
{
"欧美":{
"www.youporn.com": ["很多免费的,世界最大的","质量一般"],
"www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
"x-art.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
},
"大陆":{
"1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
}
}
给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个 元素:'量很大'。
av_catalog['欧美']['www.youporn.com'].insert(1,'量很大')
将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。
av_catalog['欧美']['x-art.com'].pop()
在此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表中添加"金老板最喜欢这个"。
av_catalog['欧美']['x-art.com'].append('金老板最喜欢这个')
将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。
av_catalog['日韩']['tokyo-hot'][1]=av_catalog['日韩']['tokyo-hot'][1].upper()
给'大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']
av_catalog['大陆']['1048']=['一天就封了']
删除此"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]键值对。
del av_catalog['欧美']['letmedothistoyou.com']
给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'
av_catalog['大陆']['1024'].insert(0,'可以爬下来')
4、有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} (升级题)
d = dict()
st = 'k:1|k1:2|k2:3|k3:4'
for dic in st.split('|'):
key=dic.split(':')[0]
value=dic.split(':')[1]
d[key]=value
else:
print(d)
s = "k:1|k1:2|k2:3|k3:4"
for i in s.split('|'):
lis=i.split(':')
key,value = lis
dic[key.strip()]=int(value)
else:
print(dic)
5、元素分类
有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
d = {'k1':[],'k2':[]}
for num in li:
if num > 66:
d['k1'].append(num)
elif num < 66:
d['k2'].append(num)
else:
print(d)
6、输出商品列表,用户输入序号,显示用户选中的商品(升级题)
商品列表:
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},]
要求:
1:页面显示 序号 + 商品名称 + 商品价格,如:
1 电脑 1999
2 鼠标 10…
for num in range(len(goods)):
print(num+1 ,goods[num]['name'] ,goods[num]['price'])
2:用户输入选择的商品序号,然后打印商品名称及商品价格
Select = input('选哪个商品:').strip()
print('名称:%s 价格:%d' % (goods[int(Select)-1]['name'],goods[int(Select)-1]['price']))
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
while True:
Select = input('选哪个商品:').strip()
if int(Select) in range(len(goods)+1):
print('名称:%s 价格:%d' % (goods[int(Select)-1]['name'],goods[int(Select)-1]['price']))
else:
print('提示输入有误')
continue
4:用户输入Q或者q,退出程序。
while True:
Select = input('选哪个商品:').strip()
if Select.upper() == 'Q':break
if int(Select) in range(len(goods)+1):
print('名称:%s 价格:%d' % (goods[int(Select)-1]['name'],goods[int(Select)-1]['price']))
else:
print('提示输入有误')
continue
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},]
while 1:
for index in range(len(goods)):
print('{} {} {}'.format(index+1,\
goods[index]['name'],\
goods[index]['price']))
goods_num = input('请输入选项(Num/Q):').strip()
if goods_num.isdigit():
goods_num = int(goods_num)
if 0 < goods_num <= len(goods):
print(goods[goods_num-1]['name'],goods[goods_num-1]['price'])
else:
print('\n\t输入范围有