一.关系运算
  有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
1. 求出即报名python又报名linux课程的学员名字集合
  print(pythons & linuxs)
2. 求出所有报名的学生名字集合
  print(pythons | linuxs)
3. 求出只报名python课程的学员名字
  print(pythons - linuxs)
4. 求出没有同时这两门课程的学员名字集合
  print(pythons ^ linuxs)

二.去重

1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序

l=['a','b',1,'a','a']
li = set(l)
print(li)

2.在上题的基础上,保存列表原来的顺序

l=['a','b',1,'a','a']
li = []
for i in l:
if i not in li:
li.append(i)
print(li)

3.去除文件中重复的行,肯定要保持文件内容的顺序不变

方法一:

 import os
with open('db.txt',mode='w',encoding='utf-8') as f:
f.write('''我也不知道要写什么
反正要有重复的行
那就这行吧
那就这行吧
完毕
''')
with open('db.txt',encoding='utf-8') as read_f,\
open('db1.txt',mode='w',encoding='utf-8') as write_f:
li = []
for line in read_f.readlines():
if line not in li:
li.append(line)
write_f.write(line)
os.remove('db.txt')
os.replace('db1.txt','db.txt')

方法二:

 with open('db.txt',mode='w',encoding='utf-8') as f:
f.write('''我也不知道要写什么
反正要有重复的行
那就这行吧
那就这行吧
完毕
''')
with open('db.txt',encoding='utf-8') as f1:
li = []
for line in f1.readlines():
if line not in li:
li.append(line)
with open('db.txt',mode='w',encoding='utf-8') as f2:
for j in li:
f2.write(j)

4.有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序

l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]

 l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
li = []
for i in range(0,len(l)):
if l[i] not in li:
li.append(l[i])
print(li)

python学习之老男孩python全栈第九期_day007作业的更多相关文章

  1. python学习之老男孩python全栈第九期_day002作业

    1. 判断下列逻辑语句的True,False.(1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6Tru ...

  2. python学习之老男孩python全栈第九期_day015作业_老男孩Python全9期练习题(面试真题模拟)

    一. 选择题(32分) 1. python不支持的数据类型有:AA. charB. intC. floatD. list 2. Ex = ‘foo’y = 2print(x + y)A. fooB. ...

  3. python学习之老男孩python全栈第九期_day007知识点总结

    基础数据类型汇总 1. str 2. int 3. list 4. bool 5. dict (1) fromkeys Python 字典 fromkeys() 方法用于创建一个新的字典,并以可迭代对 ...

  4. python学习之老男孩python全栈第九期_day016作业

    1. 请利用filter()过滤出1~100中平方根是整数的数,即结果应该是: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] import math def func( ...

  5. python学习之老男孩python全栈第九期_day001作业

    1.使用while循环输入 1 2 3 4 5 6     8 9 10 count = 0 while count <= 9: count += 1 if count == 7:continu ...

  6. python学习之老男孩python全栈第九期_day004作业

    看代码写结果:1. a=[1,2,3,6,"dfs",100]s=a[-1:]print (s) 结果:[100] 2. s=a[-1:0:-1]print(s) 结果:[100, ...

  7. python学习之老男孩python全栈第九期_day003作业

    1. 有变量name = "aleX leNb" 完成如下操作:(1) 移除 name 变量对应的值两边的空格,并输出处理结果name = ' aleX leNb 'print(n ...

  8. python学习之老男孩python全栈第九期_day014作业

    0. 默写a. 生成器函数获取移动平均值例子: def init(func): def inner(*args,**kwargs): ret = func(*args,**kwargs) ret.__ ...

  9. python学习之老男孩python全栈第九期_day011作业

    1. 编写函数.(函数执行的时间是随机的) import timeimport randomdef random_time(): ''' 执行时间随机的函数 :return: ''' time.sle ...

随机推荐

  1. Iframe高度自适应(兼容IE/Firefox、同域/跨域)

    在实际的项目进行中,很多地方可能由于历史原因不得不去使用iframe,包括目前正火热的应用开发也是如此. 随之而来的就是在实际使用iframe中,会遇到iframe高度的问题,由于被嵌套的页面长度不固 ...

  2. 上传本地文件到github(码云)上(小乌龟方式,sourcetree方式)

    一:上传文件到 github 1.打开 https://github.com/ 登录github账号(没有的自己创建),点击右上角创建新仓库 在打开的页面中填写  名字 点击 Create repos ...

  3. iOS开发-带Placeholder的UITextView实现

    iOS中UITextField带有PlaceHolder属性,可以方便用于提示输入.但是同样可以进行文本输入的UITextView控件则没有PlaceHolder属性,还是有些不方便的,尤其是对于略带 ...

  4. Python之lambda匿名函数使用if条件语句

    C0LOR1 = "PapayaWhip" COLOR2 = "Tan" selectColor = lambda num: C0LOR1 if num % 2 ...

  5. Scala使用Akka模拟RPC机制代码

    上代码:  另一个版本(自己加注释):http://www.cnblogs.com/DreamDrive/p/6740440.html RemoteMessage.scala trait Remote ...

  6. SQL SERVICE日志收缩

    ALTER DATABASE 数据库SET RECOVERY SIMPLE WITH NO_WAIT;ALTER DATABASE 数据库SET RECOVERY SIMPLE; --简单模式DBCC ...

  7. JavaScript -- Screen

    -----041-Screen.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=" ...

  8. 运行vue init webpack vueTest时报错

    前言:好久没动vue项目了,早上心血来潮.准备写一个项目,然后坚持在github更新,不为别的,只为养成一个习惯. 运行vue init webpack vueTest时,报了下面的错误: 当时我思考 ...

  9. MongoDB学习3 $操作符表达式大全及实例

    from : http://blog.csdn.net/qq_16313365/article/details/58599253 1.查询和投影   1.1 比较操作符 $eq 语法:{ <fi ...

  10. ELK批量删除索引 及 相关操作命令 - 运维小结

    线上部署了ELK+Redis日志分析平台环境, 随着各类日志数据源源不断的收集, 发现过了一段时间之后, ELK查看会原来越慢, 重启elasticsearch服务器节点之前同步时间也会很长,  这是 ...