
将输入的名字去重,同时按照输入顺序输出
- s=input().split(',')
- b=list(set(s))
- b=sorted(b,key=s.index)
- print(b)


根据操作删除更新集合


update括号里可以是一个集合,add只能是一个元素
discard用于删除元素,如果该元素在集合中不存在不抛出异常,而remove则会抛出异常
- n=int(input())
- s=set(input().split(' '))
- for i in range(n):
- a=input().split()
- if a[0]=="print":
- print(sorted(list(s)))
- elif a[0]=="del":
- s.discard(a[1])
- elif a[0]=="clear":
- s.clear()
- elif a[0]=="add":
- s.add(a[1])
- elif a[0]=="update":
- s.update(a[1:])
Python中“if __name__=='__main__':”详细解析 - 知乎 (zhihu.com)
当哪个模块被直接执行时,该模块“__name__”的值就是“__main__”,当被导入另一模块时,“__name__”的值就是模块的真实名称。用一个类比来解释一下:记得小时候要轮流打算教室,轮到自己的时候(模块被直接执行的时候),我们会说今天是“我”(__main__)值日,称呼其他人时,我们就会直接喊他们的名字。所以,“__main__”就相当于当事人,或者说第一人称的“我”。

- with open('/data/bigfiles/sale2019.csv', 'r', encoding='utf-8') as data2019:
- sale2019 = [[line.strip().split(',')[0], float(line.strip().split(',')[1])] for line in data2019]
- with open('/data/bigfiles/sale2018.csv', 'r', encoding='utf-8') as data2018:
- sale2018 = [[line.strip().split(',')[0], float(line.strip().split(',')[1])] for line in data2018]
-
- set2019 = set([x[0] for x in sale2019])
- set2018 = set([x[0] for x in sale2018])
- select = input()
- if select == '1':
- print(sorted(set2019),sorted(set2018),sep='\n')
- elif select == '2':
- print(sorted(list(set2019&set2018)))
- elif select == '3':
- print(sorted(list(set2019|set2018)))
- elif select == '4':
- print(sorted(list(set2019-set2018)))
- elif select == '5':
- print(sorted(list(set2019^set2018)))

- n=int(input())
- ls=[]
- for i in range(n):
- name,age=input().split()
- ls.append({"name":name,"age":age})
- a=list(sorted(ls, key=lambda x:x['age']))
- b=list(sorted(ls, key=lambda x:x['name']))
- print(a)
- print(b)
lambda表达式算是python一种比较方便的语法了,主要作用是代替简单的函数
python 之lambda表达式 - 知乎 (zhihu.com)