python列表字典练习

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

    users = ['李少奇','李启航','渣渣辉']
    print('_'.join(users))
    
  2. 请将列表中的每个元素通过 "_" 链接起来。

    users = ['李少奇','李启航',666,'渣渣辉']
    users[2] = str(users[2])
    print('_'.join(users))
    
  3. 请将元组 v1 = (11,22,33) 中的所有元素追加到列表 v2 = [44,55,66] 中。

    v1 = (11,22,33)
    v2 = [44,55,66]
    a,b,c = v1
    # a,b,c = v1
    # v2.append(a)
    # v2.append(b)
    # v2.append(c)
    # print(v2)
    for i in v1:
        v2.append(i)
    print(v2)
    
  4. 请将元组 v1 = (11,22,33,44,55,66,77,88,99) 中的所有偶数索引位置的元素 追加到列表 v2 = [44,55,66] 中。

    v1 = (11,22,33,44,55,66,77,88,99)
    v2 = [44,55,66]
    for i in v1[0::2]:
        v2.append(i)
    print(v2)
    
  5. 将字典的键和值分别追加到 key_list 和 value_list 两个列表中,如:

    key_list = []
    value_list = []
    info = {'k1':'v1','k2':'v2','k3':'v3'}
    
    key_list = []
    value_list = []
    info = {'k1':'v1','k2':'v2','k3':'v3'}
    
    for i in info.keys():
        key_list.append(i)
    for i in info.values():
        value_list.append(i)
    print(key_list,value_list)
    
  6. 字典dic =

    a. 请循环输出所有的key
    b. 请循环输出所有的value
    c. 请循环输出所有的key和value
    d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
    e. 请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典
    f. 请在k3对应的值中追加一个元素 44,输出修改后的字典
    g. 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典
    
    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    for i in dic.keys():
        print(i)
    for i in dic.values():
        print(i)
    for i in dic.items():
        print(i)
    dic['k4'] = "v4"
    print(dic)
    dic['k1'] = "alex"
    print(dic)
    dic['k3'].append(44)
    print(dic)
    dic['k3'].insert(0,18)
    print(dic)
    
av_catalog = {
    "欧美":{
        "www.太白.com": ["很多免费的,世界最大的","质量一般"],
        "www.alex.com": ["很多免费的,也很大","质量挺好"],
        "oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
        "hao222.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
    },
    "日韩":{
        "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
    },
    "大陆":{
        "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
    }
}
  1. 给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个 元素:'量很大'。

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

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

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

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

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

  7. # 给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个 元素:'量很大'。
    av_catalog = {
        "欧美":{
            "www.太白.com": ["很多免费的,世界最大的","质量一般"],
            "www.alex.com": ["很多免费的,也很大","质量挺好"],
            "oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
            "hao222.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
        },
        "日韩":{
            "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
        },
        "大陆":{
            "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
        }
    }
    av_catalog['欧美']['www.太白.com'].insert(1,'量很大')
    print(av_catalog)
    
    # 将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。
    av_catalog['欧美']['hao222.com'].pop(1)
    print(av_catalog)
    
    # 将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。
    av_catalog['日韩']['tokyo-hot'][-1] = av_catalog['日韩']['tokyo-hot'][-1].upper()
    print(av_catalog)
    
    # 给 '大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']
    av_catalog['大陆']['1048'] = ['一天就封了']
    print(av_catalog)
    
    # 删除这个键值对:"oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]
    av_catalog['欧美'].pop('oldboy.com')
    print(av_catalog)
    
    # 给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'
    av_catalog['大陆']['1024'].insert(0,'可以爬下来')
    print(av_catalog)
    
  8. 请循环打印k2对应的值中的每个元素。

    info = {
        'k1':'v1',
        'k2':[('alex'),('wupeiqi'),('oldboy')],
    }
    
    for i in info['k2']:
        print(i)
    
    
  9. 有字符串"k: 1|k1:2|k2:3 |k3 :4" 处理成字典

    str = "k: 1|k1:2|k2:3 |k3 :4"
    dic = {}
    for i in str.split('|'):
        a,b = i.split(':')
        dic[a.strip()] = b.strip()
    print(dic)
    
  10. 写代码

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

result = {'k1':[],'k2':[]}
"""
li= [11,22,33,44,55,66,77,88,99,90]
result = {'k1':[],'k2':[]}
for i in li:
    if i > 66:
        result['k1'].append(i)
    elif i < 66:
        result['k2'].append(i)
    else:
        pass
print(result)
  1. 输出商品列表,用户输入序号,显示用户选中的商品
"""
商品列表:
  goods = [
		{"name": "电脑", "price": 1999},
		{"name": "鼠标", "price": 10},
		{"name": "游艇", "price": 20},
		{"name": "美女", "price": 998}
	]
要求:
1:页面显示 序号 + 商品名称 + 商品价格,如:
      1 电脑 1999 
      2 鼠标 10
	  ...
2:用户输入选择的商品序号,然后打印商品名称及商品价格
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。
"""
goods = [
   		{"name": "电脑", "price": 1999},
   		{"name": "鼠标", "price": 10},
   		{"name": "游艇", "price": 20},
   		{"name": "美女", "price": 998}
]
# for i in range(len(goods)):
#     print(i+1,goods[i]['name'],goods[i]['price'])
# print('='*30)

# while 1:
# 	msg = input('请选择商品序号:(Q或者q退出程序)')
# 	print('-'*30)
# 	if msg.upper() == 'Q':
# 		break
# 	if 0 < int(msg) <= len(goods):
# 		print(int(msg),goods[int(msg)-1]['name'],goods[int(msg)-1]['price'])
# 	else:
# 		print('输入有误,请重新输入。')
# 	print('-'*30)

# print(type(msg))
while 1:
	for num,dic in enumerate(goods):
		print(f"{num+1}\t{dic['name']}\t{dic['price']}")
	choice_num = input('请输入商品序号:').strip()
	print('*'* 35)
	if choice_num.isdecimal():
		choice_num = int(choice_num)
		if 0 < choice_num <= len(goods):
			print(f"你选择的商品为:{goods[choice_num-1]['name']},价格为:{goods[choice_num-1]['price']}")
		else:
			print('你输入的超出范围,请重新输入。')
	elif choice_num.upper() == 'Q':break
	else:
		print('你输入了非法字母元素,请重新输入')
	print('*'* 35)
  1. 看代码写结果

    v = {}
    for index in range(10):
        v['users'] = index
    print(v)
    
posted @ 2020-03-13 18:08  鱼~A  阅读(260)  评论(0编辑  收藏  举报