-
写一个函数,实现maketrans的功能,将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值
第一个字符串: ‘abcmn’ 第二个字符串:‘一二三四五’
结果:{‘a’: ‘一’, ‘b’: ‘二’, ‘c’: ‘三’, ‘m’: ‘四’, ‘n’: ‘五’}
def maketrans(str1, str2): list1 = [] for x, y in enumerate(str1): list1 += [f'{y}{str2[x]}'] dict1 = dict(list1) return(dict1) str1 = 'abcmn' str2 = '一二三四五' print(maketrans(str1,str2)) 结果:{'a': '一', 'b': '二', 'c': '三', 'm': '四', 'n': '五'}
-
写一个属于自己的join函数,可以将任意序列中的元素以指定的字符串连接成一个新的字符串
序列: [10, 20, 30, ‘abc’] 字符串: ‘+’ 结果:‘10+20+30+abc’
序列: ‘abc’ 字符串: ‘–’ 结果:‘a–b--c’
注意:序列中的元素可以不是字符串哟
def join(list1,str2): str1 = '' for x in list1: str1 += str(x) if list1[-1] != x: str1 += str2 return(str1) list1 = [10, 20, 30, 'abc'] str2 = '+' print(join(list1,str2)) 结果: 10+20+30+abc
-
*写一个输入自己的upper函数,判断指定字符串是否是纯大写字母字符串(出现多次)
‘AMNDS’ -> True
‘amsKS’ -> False
‘123asd’ -> False
def upper(str1): for x in str1: if not 'A' <= x <= 'Z': return False break else: return True str1 = 'AMNDS' print(upper(str1)) 结果:True
-
写一个clear函数,清空指定列表。(应该从后面开始遍历删除,就不用产生一个新的列表)
注意:功能是将原列表清空,不产生新的列表
def clear(list1): for x in list1[:]: list1.remove(x) return(list1) list1 = [12, 13, 19, 20] print(clear(list1)) 结果:[]
-
写一个reverse函数,将列表中的元素逆序
两种方法:1.产生一个新的列表 2.不产生新的列表,直接修改原列表元素的顺序
def reverse(list1):
list2 = [x for x in list1[-1::-1]]
return(list2)
list1 = [1, 2, 3, 4, 5, 6, 7]
print(reverse(list1))
结果:
[7, 6, 5, 4, 3, 2, 1]