-
编写一个程序,交换指定字典的key和value。
例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'}
dict1={'a':1, 'b':2, 'c':3} dict2 = {} for x in dict1: dict2[dict1[x]] = x print(dict2)
-
编写一个程序,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
例如: 传入'12a&bc12d-+' --> 'abcd'
str1 = '12a&bc12d-+' str2 = '' for x in str1: if x.isupper() or x.islower(): str2 += x print(str2)
-
写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
例如: 'abc' -> 'Abc' '12asd' --> '12asd'
str1 = '12dafg' str2 = '' if str1[0].islower(): str2 += str1[0].upper() str2 += str1[1:] else: str2 = str1 print(str2)
-
写程序实现endswith的功能,判断一个字符串是否已指定的字符串结束
例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True 字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False
str1 = 'abc231ab' str2 = 'ab' if str2 == str1[-len(str2):]: print(True) else: print(False)
-
写程序实现isdigit的功能,判断一个字符串是否是纯数字字符串
例如: '1234921' 结果: True '23函数' 结果: False 'a2390' 结果: False
str1 = '3413' flag = True for x in str1: if not x.isdigit(): flag = False print(flag)
-
写程序实现upper的功能,将一个字符串中所有的小写字母变成大写字母
例如: 'abH23好rp1' 结果: 'ABH23好RP1'
str1 = 'fj好23dfj23' str2 = '' for x in str1: if x.islower(): str2 += chr(ord(x)-(ord('a')-ord('A'))) else: str2 += x print(str2)
-
写程序获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
例如: 序列:[-7, -12, -1, -9] 结果: -1 序列:'abcdpzasdz' 结果: 'z' 序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98} 结果: 98
a ='abcdpzasdz' if type(a) == dict: list1 = [] for x in a: list1.append(a[x]) print(max(list1)) else: print(max(a))
-
写程序实现replace函数的功能,将指定字符串中指定的旧字符串转换成指定的新字符串
例如: 原字符串: 'how are you? and you?' 旧字符串: 'you' 新字符串:'me' 结果: 'how are me? and me?'
str1 = 'how are you? Im fine, Thank you!' str2 = 'you' str3 = 'me' print(str3.join(str1.split(str2)))
# 方法2 搞循环(老师的代码)
str1 = 'how are you? Im fine, Thank you!'
str2 = 'you'
str3 = 'me'
result = ''
index = 0
len1 = len(str1)
len2 = len(str2)
while True:
if str1[index:index+len2] == str2:
new_str += str3
index += len2
else:
new_str += str1[index]
index += 1
if index > len1 - 1:
break
print(new_str)
-
写程序实现split的功能,将字符串中指定子串作为切割点对字符串进行切割
例如:原字符串: 'how are you? and you?' 切割点: 'you' 结果: ['how are ', '? and ', '?']
str1 = 'how are you? and you?' str2 = 'you' index = [0] result = [] for i in range(len(str1)): if str1[i:i+3] == str2: index.append(i) index.append(i+len(str2)-1) index.append(len(str1)) result.append(str(str1[:index[1]])) for i in range(2,len(index),2): result.append(str(str1[index[i]+1:index[i+1]])) print(result) ''' str1[0 : 8],[ 11 : 17], [ 20 : 21 ] index[0] [1] [2]+1 [3] [4]+1 [5] '''
# 老师的代码
str1 = 'how are you? and you?'
str2 = 'you'
len1 = len(str1)
len2 = len(str2)
i = 0
new_str = ''
result = []
while True:
if str1[i: i+len2] != str2:
new_str += str1[i]
i += 1
else:
result.append(new_str)
new_str = ''
i += len2
if i > len1 - 1:
break
result.append(new_str)
print(result)
- 用思维导图(xmind)总结四大容器:列表、字典、元组、集合
见后一篇博客