-
编写一个程序,交换指定字典的key和value。
例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'}
dict1 = {'a': 1, 'b': 2, 'c': 3} new_dict = {} keys = list(dict1.keys()) values = list(dict1.values()) for x in range(len(values)): new_dict.setdefault(values[x], keys[x]) print(new_dict)
-
编写一个程序,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
例如: 传入'12a&bc12d-+' --> 'abcd'
str1 = '12Aa&bc12d-+' new_str1 = '' for x in str1: if 'A' <= x <= 'Z' or 'a' <= x <= 'z': new_str1 += x print(new_str1)
-
写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
例如: 'abc' -> 'Abc' '12asd' --> '12asd'
str1 = 'abc' new_str1 = '' for index, item in enumerate(str1): if 'a' <= item <= 'z': new_str1 += chr(ord(item) - 32) break else: new_str1 += item new_str1 += str1[index+1:] print(new_str1)
-
写程序实现endswith的功能,判断一个字符串是否已指定的字符串结束
例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True 字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False
#方法1: str1 = 'abc231ab' str2 = 'ab1' len_str2 = len(str2) if str1[-len_str2:] == str2: print('True') else: print('False') #方法2: str1 = 'abc231ab' str2 = 'ab' reverse_str2 = '' for x in str2[-1::-1]: reverse_str2 += x print(reverse_str2) length = len(str2) print(length) print(str1[-1:-1-length:-1]) if str1[-1:-1-length:-1] == reverse_str2: print('True') else: print('False')
-
写程序实现isdigit的功能,判断一个字符串是否是纯数字字符串
例如: '1234921' 结果: True '23函数' 结果: False 'a2390' 结果: False
#方法1: str1 = 'a2390' print(str1.isdigit()) #方法2: str1 = 'a2390' for x in str1: if not '0' <= x <= '9': print(f'{str1}不是纯数字字符串!') break else: print(f'{str1}是纯数字字符串!')
-
写程序实现upper的功能,将一个字符串中所有的小写字母变成大写字母
例如: 'abH23好rp1' 结果: 'ABH23好RP1'
#方法1: str1 = 'abH23好rp1' result = str1.upper() print(result) #方法2: str1 = 'abH23好rp1' new_str1 = '' for x in str1: if 'a' <= x <= 'z': new_str1 += chr(ord(x) - 32) else: new_str1 += x print(new_str1)
-
写程序获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
例如: 序列:[-7, -12, -1, -9] 结果: -1 序列:'abcdpzasdz' 结果: 'z' 序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98} 结果: 98
# sequence = {'小明': 90, '张三': 76, '路飞':30, '小花': 98} sequence = [-7, -12, -1, -9] if type(sequence) == dict: values = list(sequence.values()) print('最大值为:', max(values)) else: print('最大值为:', max(sequence))
-
写程序实现replace函数的功能,将指定字符串中指定的旧字符串转换成指定的新字符串
例如: 原字符串: 'how are you? and you?' 旧字符串: 'you' 新字符串:'me' 结果: 'how are me? and me?'
str1 = 'how are you? and you?' old_str2 = 'you' new_str3 = 'me' len_old_str2 = len(old_str2) result = [] new_str = '' index = 0 while True: if str1[index:index+len_old_str2] == old_str2: result.append(new_str) result.append(new_str3) new_str = '' index += 3 else: new_str += str1[index] index += 1 if index >= len(str1): break result.append(new_str) new_str = '' for x in result: new_str += x print(new_str)
-
写程序实现split的功能,将字符串中指定子串作为切割点对字符串进行切割
例如:原字符串: 'how are you? and you?' 切割点: 'you' 结果: ['how are ', '? and ', '?']
str1 = 'how are you? and you?' str2 = 'you' len_str2 = len(str2) result = [] new_str = '' index = 0 while True: if str1[index:index+len_str2] == str2: result.append(new_str) new_str = '' index += 3 else: new_str += str1[index] index += 1 if index >= len(str1): break result.append(new_str) print(result)
-
用思维导图(xmind)总结四大容器:列表、字典、元组、集合