-
写一个函数,实现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', '一二三四五'))
-
写一个属于自己的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]))
-
写一个输入自己的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'))
-
写一个clear函数,清空指定列表。
注意:功能是将原列表清空,不产生新的列表
def clear1(list1:list): for x in list1[:]: list1.remove(x) return list1 list2 = [10, 20, 30] print(clear1(list2))
-
写一个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))
day11-函数基础作业
最新推荐文章于 2024-08-23 16:53:34 发布