Python运维开发 第14周
目录
[隐藏]集合的属性、方法与运算
描述
将用户输入用空格分隔的一系列地名创建集合MySet,输入一个正整数 n,你将被要求读入 n 个输入(输入形式如下所示),每得到一个输入后,根据输入进行操作。
add name: # 在集合中加入元素name print: # 将集合转为列表,按元素升序排序后输出列表 del name: # 删除集合中的元素name,当name不存在时,不能引发错误 update name: # name为空格逗号分隔的字符串,将其转为集合,并用name中的元素修改集合MySet clear: # 清空集合
输入
第一行输入一个正整数 n
第二行输入用空格分隔的字符串切分为一系列地名
随后的 n 行,每行输入一个如示例格式的命令,命令与参数间空格分隔
输出
每遇到“print”时,将集合转为列表,按元素升序排序后输出列表
输入 输出 示例 1 8 湖北 湖南 吉林 print del 湖北 print clear add 江西 add 河北 update 北京 上海 天津 重庆 print ['吉林', '湖北', '湖南'] ['吉林', '湖南'] ['上海', '北京', '天津
代码
def method_of_set(n): name = input() # 吉林,湖北,湖南 my_set = set(name.split()) # 输入转集合 for i in range(n): ls = input().split() # 输入命令及参数,之间用空格分隔 if ls[0] == 'print': # 如要输入的命令是“print”,集合转列表输出 print(sorted(list(my_set))) elif ls[0] == 'update': # 如要输入的命令是“update”,用name中的元素修改集合 my_set.update(set(ls[1:])) elif ls[0] == 'add': # 如要输入的命令是“add”,在集合中加入元素name my_set.add(ls[1]) elif ls[0] == 'del': # 如要输入的命令是“del”,删除集合中的元素name,当name 不存在时,不能引发错误 my_set.discard(ls[1]) elif ls[0] == 'clear': # 如要输入的命令是“clear”,清空集合中全部元素 my_set.clear() if __name__ == '__main__': num = int(input()) # 输入一个正整数 num method_of_set(num)
字符串去重排序
描述
输入一个非空字符串,去除重复的字符后,从小到大排序输出为一个新字符串。
输入
一个非空字符串
输出
去重排序后的字符串
输入输出示例
输入 输出 示例 1 Life is short, you need Python! !,LPdefhinorstuy
列表去重
描述
输入一系列以逗号分隔的英文人名,其中包含重复的名字,请将其中重复的名字去掉,输出包含不重复人名的列表,名字出现顺序与输入顺序相同。
输入
一系列以逗号分隔的英文人名
输出
包含不重复人名的列表,名字出现顺序与输入顺序相同
输入输出示例
输入 输出 示例 1 Calvin,bob,ada,McCord,Smith,Babbs,Calvin,Smith ['Calvin', 'bob', 'ada', 'McCord', 'Smith', 'Babbs']