day11-函数基础作业

  1. 写一个函数,实现maketrans的功能,将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值

    第一个字符串: ‘abcmn’ 第二个字符串:‘一二三四五’

    结果:{‘a’: ‘一’, ‘b’: ‘二’, ‘c’: ‘三’, ‘m’: ‘四’, ‘n’: ‘五’}

    def maketrans1(str1:str, str2:str) -> dict:
    	len1 = len(str1)
    	len2 = len(str2)
        dict1 = {}
        for x in range(min(len1, len2)):
           dict1[str1[index]] = str2[index]
        return dict1
    print(maketrans1('abcmn', '一二三四五'))
    
  2. 写一个属于自己的join函数,可以将任意序列中的元素以指定的字符串连接成一个新的字符串

    序列: [10, 20, 30, ‘abc’] 字符串: ‘+’ 结果:‘10+20+30+abc’

    序列: ‘abc’ 字符串: ‘–’ 结果:‘a–b--c’

    注意:序列中的元素可以不是字符串哟

    # 方法1
    def join1(array, str1:str):
        str2 = ''
        for x in array:
            str3 = str(x) + str1
            str2 += str3
        str4 = str2.rstrip(str1)
        return str4
    print(join1([10, 20, 30, 'abc'], '+'))
    # 方法2
    def join1(str1:str, seq):
     """
     将任意序列中的元素以指定的字符串连接成一个新的字符串
     :param str1: 指定字符串
     :param seq: 任意序列
     :return: 新的字符串
     """
     	new_str = ''
     	for x in seq:
         	new_str += str(x) + str1
     	return new_str[:-len(str1)]
     print(join1('++', [100, 'abc', 12.3, True]))
    
  3. 写一个输入自己的upper函数,判断指定字符串是否是纯大写字母字符串

    ‘AMNDS’ -> True

    ‘amsKS’ -> False

    ‘123asd’ -> False

    def upper1(str1):
         for x in str1:
             if not 'A' <= x <= 'Z':
                 return False
             return True
    
    print(upper1('AMNDS'))
    print(upper1('amsKS'))
    print(upper1('123asd'))
    
  4. 写一个clear函数,清空指定列表。

    注意:功能是将原列表清空,不产生新的列表

    def clear1(list1:list):
        for x in list1[:]:
            list1.remove(x)
        return list1
    list2 = [10, 20, 30]
    print(clear1(list2))
    
  5. 写一个reverse函数,将列表中的元素逆序

    两种方法:1.产生一个新的列表 2.不产生新的列表,直接修改原列表元素的顺序

    # 方法1
    def reverse1(list1:list):
        list2 = [x for x in list1[-1::-1]]
        return list2
    list3 = [1, 2, [4,5], 'abc',6]
    print(reverse1(list3))
    # 方法2
    def reverse1(list1:list):
        for x in range(len(list1)):
            for y in list1[-1:-2:-1]:
                # 将列表第一个元素作为参照物,每一次将在最后的一个元素取出插入到这个参照物的元素的前面
                #(例如[1, 2, [4,5], 'abc',6]这个列表的参照物就是第一个元素1)
                list1.insert(x, y)
                # 每一次将最后一个插入到最开始下标为0的元素的前面后删除原来位置上的(即在最后位置上)元素
                list1.pop(len(list1)-1)
        return list1
    list3 = [1, 2, [4,5], 'abc',6]
    print(reverse1(list3))
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值