• Python初学者第九天 字符串、列表、字典练习


    # -*- coding: utf-8 -*-
    写代码,有如下字典,按要求实现每个功能dic={'k1':'v1','k2':'v2','k3':'v3'}
    1.请循环遍历出所有的key:
    dic={'k1':'v1','k2':'v2','k3':'v3'}
    print(dic.keys())
    for key in dic.items():
    print(dic.keys())
    2.请循环遍历出所有的value:
    dic={'k1':'v1','k2':'v2','k3':'v3'}
    print(dic.values())
    for key in dic.items():
    print(dic.values())
    3.请循环遍历出所有的key和value:
    dic={'k1':'v1','k2':'v2','k3':'v3'}
    for k,v in dic.items():
    print(k,v)
    4.请在字典中添加一个键值对,'k4':'v4',输出添加后的字典
    dic={'k1':'v1','k2':'v2','k3':'v3'}
    dic['k4']='v4'
    print(dic)
    5.请删除字典中键值对'k1','v1',并输出删除后的字典
    dic={'k1':'v1','k2':'v2','k3':'v3'}
    del dic['k1']
    print(dic)
    6.请删除字典中键'k5'对应的键值对,如果字典中不存在键'k5',则不报错,并让其返回None
    dic={'k1':'v1','k2':'v2','k3':'v3'}
    dic.pop('k5')
    print(dic)
    7.请获取字典中'k2'对应的值
    dic={'k1':'v1','k2':'v2','k3':'v3'}
    dic.get('k2')
    print(dic.get('k2'))
    8.请获取字典中'k6'对应的值,如果键'k6'不存在,则不报错,并且让其返回None
    dic={'k1':'v1','k2':'v2','k3':'v3'}
    dic.get('k6')
    print(dic.get('k6'))
    9.现有dic2 = {'k1':'v111','a':'b'}通过一行操作使dic2 = {‘k1’:’v1’,’k2’:’v2’,’k3’:’v3’,a’:’b’}
    dic={'k1':'v1','k2':'v2','k3':'v3'}
    dic2 = {'k1':'v111','a':'b'}
    dic2.update(dic)
    print(dic2)
    10.组合嵌套题。写代码,有如下列表,按照要求实现每一个功能
    lis = [[‘k’,[‘qwe’,20,{‘k1’:[‘tt’,3,’1’]},89],’ab’]]
    1.将列表lis中'tt'变成大写(用两种方式)
    方法一:
    lis = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]
    lis[0][1][2]['k1'][0] = lis[0][1][2]['k1'][0].upper()
    print(lis)
    方法二:
    lis = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]
    lis[0][1][2].get('k1')[0] = lis[0][1][2]['k1'][0].upper()
    print(lis)
    2.将列表中数字3变成字符串‘100’(用两种方式)
    方法一:
    lis = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]
    lis[0][1][2]['k1'][1] = '100'
    print(lis)
    方法二:
    lis = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]
    lis[0][1][2].get('k1')[1] = '100'
    print(lis)
    3.将列表中字符串‘1’变成数字101(用两种方式)
    方法一:
    lis = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]
    lis[0][1][2]['k1'][2] = 101
    print(lis)
    方法二:
    lis = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]
    lis[0][1][2].get('k1')[2] = 101
    print(lis)

    11.按照要求实现以下功能:
    现有一个列表li = [1,2,3,’a’,’b’,4,’c’],有一个字典(此字典是动态生成的,你并不知道它里面有多少键值对,所以使用dic={}模拟此字典);现在需要完成这样的操作:
    如果字典中没有‘k1’这个键,那就创建这个‘k1’键和其对于的值(该键对应的值设置为空列表),并将列表li中的索引为奇数对应的元素,添加到‘k1’这个键对应的空列表中。
    如果该字典中有‘k1’这个键,且k1对应的value是列表类型,那就将列表li中的索引位为偶数对应的元素,添加到‘k1’这个键对应的值中。
    li = [1,2,3,'a','b',4,'c']
    li1 = []
    dic = {'k1':li1}
    if 'k1' not in dic:
    for i in li:
    if li.index(i) % 2 == 1:
    li1.append(i)
    print(li1)
    dic['k1'] = li1
    print(dic)
    else:
    if type(li1) == list:
    for i in li:
    if li.index(i) % 2 == 0:
    li1.append(i)
    dic['k1'] = li1
    print(dic)
    # 12.已知字符串 a = “aAsmr3idd4bgs7Dlsf9eAF”,要求如下
    # 12.1 请将a字符串的大写改为小写,小写改为大写。
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    a = a.swapcase()
    print(a)
    # 12.2 请将a字符串的数字取出,并输出成一个新的字符串。
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    l = []
    for s in a:
    if s.isdigit():
    l.append(s)
    print(l)
    print(''.join(l))
    print(''.join([s for s in a if s.isdigit()]))
    # 12.3 请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {‘a’:4,’b’:2}
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    a = a.lower()
    b = {}
    for s in set(a):
    b[s] = a.count(s)
    print(b)
  • 相关阅读:
    洛谷单元最短路标准版——spfa优化
    airline
    有依赖的背包
    挖地雷
    带分数问题
    子集和问题
    循环比赛日程表
    传纸条
    机器分配
    分组背包
  • 原文地址:https://www.cnblogs.com/fany-mok/p/8214903.html
Copyright © 2020-2023  润新知