-
写一个函数,实现maketrans的功能,将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值
第一个字符串: ‘abcmn’ 第二个字符串:‘一二三四五’
结果:{‘a’: ‘一’, ‘b’: ‘二’, ‘c’: ‘三’, ‘m’: ‘四’, ‘n’: ‘五’}
def maketrans(str1, str2) -> dict: dict1 = {} for x in range(len(str1)): for y in range(x, x+1): dict1.setdefault(str1[x], str2[y]) return dict1 dict2 = maketrans('abcmn', '一二三四五') print(dict2)
-
写一个属于自己的join函数,可以将任意序列中的元素以指定的字符串连接成一个新的字符串
序列: [10, 20, 30, ‘abc’] 字符串: ‘+’ 结果:‘10+20+30+abc’
序列: ‘abc’ 字符串: ‘–’ 结果:‘a–b--c’
注意:序列中的元素可以不是字符串哟
def join01(orders, item) -> str: s = '' for i in range(len(orders)): s += str(orders[i]) + item return s[:len(s)-len(item)] print(join01('abc', '--')
-
写一个输入自己的upper函数,判断指定字符串是否是纯大写字母字符串
‘AMNDS’ -> True
‘amsKS’ -> False
‘123asd’ -> False
def upper(str1): for x in str1: if not 'A' <= x <= 'Z': return False return True print(upper('123asd'))
-
写一个clear函数,清空指定列表。
注意:功能是将原列表清空,不产生新的列表
def clear01(list1: list) -> list: if list1: for x in list1[:]: list1.remove(x) return list1 print(clear01([10, 20, 30]))
-
写一个reverse函数,将列表中的元素逆序
两种方法:1.产生一个新的列表 2.不产生新的列表,直接修改原列表元素的顺序
# 法1 def reverse01(list1): list2 = [x for x in list1[-1::-1]] return list2 print(reverse01([10, 28, 'a', 'b'])) #法2 def reverse(list1: list): len1 = len(list1) for index1 in range(len1 // 2): index2 = len1 - index1 - 1 # 寻找下一个下标值 list1[index1], list1[index2] = list1[index2], list1[index1] # 变量交换 list1 = [10, 20, 30, 40] reverse(list1) print(list1)
11-08
997
03-20
156