day5__作业及答案

1、将列表中的每个元素通过"_"链接起来

users = ['刘少奇', '李启航', '渣渣辉']_

users = ['刘少奇', '李启航', '渣渣辉']
s = "_".join(users)
print(s)  #刘少奇_李启航_渣渣辉

2、将列表中的每个元素通过"_"链接起来

users = ['刘少奇', '李启航', 666, '渣渣辉']
list = ''
for i in users:
    list = list + '_' + str(i)
    list = list.strip("_")
print(list)   #刘少奇_李启航_666_渣渣辉

3、请将元组v1 = (11,22,33)中的所有元素追加到列表v2 = [44,55,66]中

v1 = (11, 22, 33)
v2 = [44, 55, 66]
v2.extend(v1)
print(v2)  #[44, 55, 66, 11, 22, 33]

4、 请将元组 v1 = (11,22,33,44,55,66,77,88,99) 中的所有偶数索引位置的元素 追加到列表v3 = [44,55,66] 中

v1 = (11, 22, 33, 44, 55, 66, 77, 88, 99)
v3 = [44, 55, 66]
for i in v1:
    if i % 2 == 0:
        v3.append(i)
print(v3)  #[44, 55, 66, 22, 44, 66, 88]

5、将字典的键和值分别追加到 key_list 和 value_list 两个列表中

key_list = []
value_list = []
info = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}

#方法一:
for i in info:
    key_list.append(i)
    value_list.append(info.get(i))
print(key_list)
print(value_list)
输出结果如下:
['k1', 'k2', 'k3']
['v1', 'v2', 'v3']
#方法二:
key_list.extend(info.keys())
value_list.extend(info.values())
print(key_list)
print(value_list)
输出结果如下:
['k1', 'k2', 'k3']
['v1', 'v2', 'v3']   

6、字典dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}

a、请循环输出所有的Key

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
for i in dic:
    print(i)

b、请循环输出所有的value

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
for i in dic:
    print(dic.get(i))

c、请循环输出所有的key和value

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
for i in dic:
    print(dic.keys())
    print(dic.values())

d、请在字典中添加一个键值对,"k4": "v4",输出添加后的字典

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
dic['k4'] = 'v4'
print(dic)

e、 请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
dic['k1'] = 'alex'
print(dic)

f、请在k3对应的值中追加一个元素 44,输出修改后的字典

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
dic['k3'].append(44)
print(dic)

g、请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典

dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
dic['k3'].insert(0, 18)
print(dic)

7、有如下字典,请按照一下的需求对字典进行操作

av_catalog = {
"欧美": {
"www.宝元.com": ["很多免费的,世界最大的", "质量一般"],
"www.alex.com": ["很多免费的,也很大", "质量挺好"],
"oldboy.com": ["多是自拍,高质量图片很多", "资源不多,更新慢"],
"hao222.com": ["质量很高,真的很高", "全部收费,屌丝请绕过"]
},
"日韩": {
"tokyo-hot": ["质量怎样不清楚,个人已经不喜欢日韩范了", "verygood"]
},
"大陆": {
"1024": ["全部免费,真好,好人一生平安", "服务器在国外,慢"]
}
}

a.给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个 元素:'量很大'。

av_catalog['欧美']['www.宝元.com'].insert(1, '量很大')
print(av_catalog)

b.将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。

del av_catalog['欧美']['hao222.com'][-1]
print(av_catalog)

c.将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。

av_catalog['日韩']['tokyo-hot'][1] = av_catalog['日韩']['tokyo-hot'][1].upper()
print(av_catalog)

d.给 '大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']

av_catalog['大陆']['1048']='一天就封了'
print(av_catalog)

e.删除这个键值对:"oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]

del av_catalog['欧美']['oldboy.com']
print(av_catalog)

f.给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'

av_catalog['大陆']['1024'].insert(0,'可以爬下来')
print(av_catalog)

8、请循环打印k2对应的值中的每个元素。

info = {
'k1':'v1',
'k2':[('alex'),('wupeiqi'),('oldboy')],
}

for i in info.get('k2'):
        print(i)

9、有字符串"k: 1|k1:2|k2:3 |k3 :4" 处理成字典 {'k':1,'k1':2,'k3':4}

lst = "k: 1|k1:2|k2:3 |k3 :4"

lst = "k: 1|k1:2|k2:3 |k3 :4"
li = lst.split("|")   #以|为分隔符,把它们进行拆分
dic = {}
for i in li:
    a,b=i.split(":")  #抓分元组
    dic[a]= int(b)
print(dic)

10、有如下值 li= [11,22,33,44,55,77,88,99,90] ,将所有大于 66 的值保存至字典的第一个key对应的列表中,将小于 66 的值保存至第二个key对应的列表中。

li= [11,22,33,44,55,77,88,99,90]
result = {'k1':[],'k2':[]}
for i in li:
    if i > 66:
        result['k1'].append(i)
    else:
        result['k2'].append(i)
print(result)

11、看代码写结果

v = {}
for index in range(10):   #循环0---9
    print(index)
    v['users'] = index     #当循环到9时,循环结速,v['users'] = index 当键相同时默认修改键值,只保留最后的键值9,所以输入是'user':9
print(v)
输出结果:'user':9

12、输出商品列表,用户输入序号,显示用户选中的商品

商品列表:

goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}
]

1)、 要求:

1:页面显示 序号 + 商品名称 + 商品价格,如:

1 电脑 1999

2 鼠标 10.....

方法一:
for i in range(0,len(goods)):
    print(i,goods[i]['name'],goods[i]['price'])
方法二:
for num, dic in enumerate(goods, start=1):
    print('{}\t{}\t{}'.format(num, dic['name'],dic['price']))
2)用户输入选择的商品序号,然后打印商品名称及商品价格
num = int(input("请输入商品序号:"))
lst = goods[num]
print(num, lst["name"], lst["price"])
3) 如果用户输入的商品序号有误,则提示输入有误,并重新输入
while 1:
    num = input("请输入商品序号:").strip() #strip()去掉输入内容的前后空格
    if 0 < int(num) <= len(goods):
        num = int(num)
        lst = goods[num-1]
        print(num, lst["name"], lst["price"])
    else:
        print("你输入的数字超出商品范围,请重新输入")
4)用户输入Q或者q,退出程序。
while 1:
    num = input("请输入商品序号,输入q退出程序:").strip() #strip()去掉输入内容的前后空格
    if num.upper() == "Q":
        print("己退出程序!");break
    if num.isdecimal():
       num = int(num)
       if 0 < int(num) <= len(goods):
           lst = goods[num - 1]
           print('商品序号:',num,'\t商品名称:',lst['name'],'\t商品价格:',lst['price'])
       else:
           print('你输入的数字超出商品范围,请重新输入:')
    else:
        print("你输入的是非数字,请重新输入:")
posted @ 2020-06-20 17:52  MrXiong  阅读(110)  评论(0编辑  收藏