-
写一个函数,实现maketrans的功能,将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值
第一个字符串: ‘abcmn’ 第二个字符串:‘一二三四五’
结果:{‘a’: ‘一’, ‘b’: ‘二’, ‘c’: ‘三’, ‘m’: ‘四’, ‘n’: ‘五’}
def maketrans(key_str: str, value_str: str) -> dict: """ 将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值 :param key_str: 提供键的字符串 :param value_str: 提供值的字符串 :return: 字典 """ len1 = len(key_str) len2 = len(value_str) result = {} for i in range(min(len1, len2)): result[key_str[i]] = value_str[i] return result key_str = 'abcm' value_str = '一二三四五' print(maketrans(key_str, value_str))
-
写一个属于自己的join函数,可以将任意序列中的元素以指定的字符串连接成一个新的字符串
序列: [10, 20, 30, ‘abc’] 字符串: ‘+’ 结果:‘10+20+30+abc’
序列: ‘abc’ 字符串: ‘–’ 结果:‘a–b--c’
注意:序列中的元素可以不是字符串哟
def new_join(seq, str1: str) -> str: """ 将任意序列中的元素以指定的字符串连接成一个新的字符串 :param seq: 任意序列 :param str1: 指定的字符串 :return: 新的字符串 """ new_str = '' for i in seq: new_str += str(i) + str1 return 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) -> bool:
"""
判断指定字符串是否是纯大写字母字符串
: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)
# 方法二
len1 = len(list1)
for _ in range(len1):
del list1[0]
list1 = [10, 20, 30, 40]
new_clear(list1)
print(list1)
-
写一个reverse函数,将列表中的元素逆序
两种方法:1.产生一个新的列表 2.不产生新的列表,直接修改原列表元素的顺序
# 方法一:
def _reverse(list1: list) -> list:
"""
将列表中的元素逆序
:param list1: 原列表
:return: 新的列表
"""
# 方法一
return list1[::-1]
list1 = [10, 20, 30, 40]
print(_reverse(list1))
# 方法二
def _reverse(list1: list):
"""
将列表中的元素逆序
:param list1: 原列表
:return: None
"""
len1 = len(list1)
for index in range(len1//2):
list1[index], list1[-index-1] = list1[-index-1], list1[index]
list1 = [10, 20, 30, 40, 50]
_reverse(list1)
print(list1)