-
编写一个程序,交换指定字典的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 = {} for key,value in dict1.items(): new_dict[value] = key print(new_dict) # 方法2: for key in dict1: value = dict1.pop(key) dict1[value] = key print(dict1) # 方法3 dict1={'a':1, 'b':2, 'c':3} print(dict(zip(dict1.values(),dict1.keys()))) # 方法4 # 补充:字典推导式: {表达式1:表达式2 for 变量 in 序列} dict1={'a':1, 'b':2, 'c':3} reslut = {dict1[key]:key for key in dict1} print(reslut)
-
编写一个程序,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
# 例如: 传入'12a&bc12d-+' --> 'abcd' str1 = '12a&bc12d-+' str2 = '' for i in str1: if i.isupper() or i.islower(): str2 += i print(str2)
-
写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
# 例如: 'abc' -> 'Abc' '12asd' --> '12asd' str1 = 'abc' if str1[0].islower(): first = str1[0].upper() print(first + str1[1:]) else: print(str1)
-
写程序实现endswith的功能,判断一个字符串是否已指定的字符串结束
例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True 字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False str1 = 'abc123ab1' str2 = 'ab' new_str = '' length = len(str2) for i in str1[-length:]: new_str += i print(str2 == new_str) # 2 str1 = 'abc123ab1' str2 = 'ab' print(str1[-len(str2):] == str2)
-
写程序实现isdigit的功能,判断一个字符串是否是纯数字字符串
例如: '1234921' 结果: True '23函数' 结果: False 'a2390' 结果: False str1 = '12852' for i in str1: if not('0' <= i <= '9'): print('False') break else: print('True')
-
写程序实现upper的功能,将一个字符串中所有的小写字母变成大写字母
例如: 'abH23好rp1' 结果: 'ABH23好RP1' str1 = 'abH23好rp1' new_str = '' for i in str1: if 'a' <= i <= 'z': i = chr(ord(i) - 32) new_str += i else: new_str += i print(new_str)
-
写程序获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
例如: 序列:[-7, -12, -1, -9] 结果: -1 序列:'abcdpzasdz' 结果: 'z' 序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98} 结果: 98 seq = {'小明':90, '张三': 76, '路飞':30, '小花': 98} if type(seq) == dict: max_ = 0 for i in seq: if seq[i] > max_: max_ = seq[i] print(max_) else: print(max(seq)) # seq = {'小明':90, '张三': 76, '路飞':30, '小花': 98} if type(seq) == dict: seq = seq.values() print(max(seq))
-
写程序实现replace函数的功能,将指定字符串中指定的旧字符串转换成指定的新字符串
例如: 原字符串: 'how are you? and you?' 旧字符串: 'you' 新字符串:'me' 结果: 'how are me? and me?' str1 = 'how are you? and you?' old = 'you' new = 'me' index = 0 length = len(old) new_str = '' while index < len(str1): if str1[index:index + length] == old: new_str += new index += length else: new_str += str1[index] index += 1 print(new_str)
-
写程序实现split的功能,将字符串中指定子串作为切割点对字符串进行切割
例如:原字符串: 'how are you? and you?' 切割点: 'you' 结果: ['how are ', '? and ', '?'] str1 = 'how are you? and you?' point = 'you' index = 0 new_str = '' new_list = [] while index < len(str1): if str1[index:index + len(point)] == point: new_list.append(new_str) new_str = '' index += len(point) else: new_str += str1[index] index += 1 new_list.append(new_str) print(new_list)
-
用思维导图(xmind)总结四大容器:列表、字典、元组、集合
day10-字符串作业
于 2022-10-08 00:57:57 首次发布