-
写一个函数,实现maketrans的功能,将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值
第一个字符串: ‘abcmn’ 第二个字符串:‘一二三四五’
结果:{‘a’: ‘一’, ‘b’: ‘二’, ‘c’: ‘三’, ‘m’: ‘四’, ‘n’: ‘五’}
def maketrans(str1, str2)->dict: """ 将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值 :param str1:第一个字符串 :param str2:第二个字符串 :return:字典 """ dict1 = {} for i in range(len(str1)): for j in range(i, i+1): dict1.setdefault(str1[i], str2[j]) return dict1 str1 = 'abcmn' str2 = '一二三四五' print(maketrans(str1, str2))
-
写一个属于自己的join函数,可以将任意序列中的元素以指定的字符串连接成一个新的字符串
序列: [10, 20, 30, ‘abc’] 字符串: ‘+’ 结果:‘10+20+30+abc’
序列: ‘abc’ 字符串: ‘–’ 结果:‘a–b--c’
注意:序列中的元素可以不是字符串哟
def new_join(seq, str1)->str: """ 将任意序列中的元素以指定的字符串连接成一个新的字符串 :param seq: 任意序列 :param str1: 指定的字符串 :return: 新的字符串 """ new_str = '' for i in range(len(seq)): new_str += str(seq[i]) + str1 return new_str[:len(new_str)-len(str1)] # seq = [10, 20, 30, 'abc'] seq = 'abc' print(new_join(seq, '--'))
-
写一个输入自己的upper函数,判断指定字符串是否是纯大写字母字符串
‘AMNDS’ -> True
‘amsKS’ -> False
‘123asd’ -> False
def new_upper(str1)->str:
"""
判断指定字符串是否是纯大写字母字符串
:param str1: 指定字符串
:return: True or False
"""
for i in str1:
if not 'A' <= i <= 'Z':
return False
return True
print(new_upper('AMNDS'))
print(new_upper('amsKS'))
print(new_upper('123asd'))
-
写一个clear函数,清空指定列表。
注意:功能是将原列表清空,不产生新的列表
def new_clear(list1)-list:
"""
清空指定列表
:param list1: 指定列表
:return: None
"""
if list1:
for i in list1[:]:
list1.remove(i)
return list1
list1 = [10, 20, 30, 40]
print(new_clear(list1))
-
写一个reverse函数,将列表中的元素逆序
两种方法:1.产生一个新的列表 2.不产生新的列表,直接修改原列表元素的顺序
# 方法一:
def _reverse(list1) ->list:
"""
将列表中的元素逆序
:param list1: 原列表
:return: 新的列表
"""
new_list1 = [i for i in list1[-1::-1]]
return new_list1
list1 = [10, 20, 30, 40]
print(_reverse(list1))
# 方法二:
def _reverse(list1) ->list:
"""
将列表中的元素逆序
:param list1: 原列表
:return: None
"""
return list1[-1::-1]
list1 = [10, 20, 30, 40]
print(_reverse(list1))