day 08

集合类型set基本使用

1、用途:去重(无法保证顺序)

msg = "hello"

res = set(msg)

print(' ',join(res))



names = ['egon','lxx','lili','egon','egon']

print(list(set(names)))

 

只能针对不可变元素的去重

students_info = [

  {"name":"egon","age":18,"gender":"male"},

  {"name":"tom","age":19,"gender":"male"},

  {"name":"jack","age":28,"gender":"female"},
  {"name":"egon","age":18,"gender":"male"},
]

new_l = []

for info in students_info:

  if info not in new_l:

    new_l.append(info)
print(new_l)


关系运算

定义方式:在{}内用逗号分隔开多个元素,集合内元素的特点有三个

    (1)集合内元素必须是不可变类型

    (2)集合内元素不能重复

    (3)集合内元素无序

s = {11,3.1,'xxx',(1,2,3)}

s = {11,11,11,11,22,33}

print(s)
print(type(s))

 

数据类型转换

res = set("hello")

print(res)



s = set

print(s,type(s))

 

3、常用操作+内置的方法

python = {"tom","jack","alex","egon","lxx"}

linuxs = {"lili","hanmeimei","张三","egon","lxx","jay"}

(1)交集:取两个集合的共同部分--》即报名python又报名linux的学生

print(pythons & linuxs)

print(pythons.intersection(linuxs))

pythons = pythons & linuxs

pythons.intersection_updata(linuxs)

 

(2)并集:两个合计并到一起----》所有学生的姓名

print(pythons | linuxs)
print(pythons.union(linuxs))

 

(3)差集:一个集合减掉与另一个合集共同的部分

只学了python的学生姓名

print(pythons - linuxs)
print(pythons.difference(linuxs))

 

(4)交叉补集/对称差集:两个合计互相减,然后再并到一起----》取没有同时学两门课程的学生

res = (pythons - linuxs) | (linuxs - pythons)
res = pythons ^ linuxs
print(res)

print(pythons.symmetric_difference(liunxs))

 

(5)父子集合:当一个集合完全包含了另外一个集合,该集合才能称爹

s1 = {1,2,3}

s2 = {3,4,5}

print(s1 >= s2)

print(s2 <= s1)

s1 = {1,2,3}

s2 = {1,2}
print(s1 >= s2)
print(s1.issuperset(s2))

print(s2 <= s1)
print(s2.issubset(s1))

 

s1 = {1,2,3}

1、update

s1.update({3,4,5})
print(s1)

 

2、add

s1.add(4)
print(s1)

 

3、clear

s1.clear()
print(s1)

 

4、copy

5、pop

6、remove

 

集合类型:存多个值,无序,可变

 

 

文件处理

文件是操作系统提供给用户或者应用程序操作硬盘的一种机制

 

为何要用文件

  读写文件-----》存取硬盘

  应用程序:  open()

  操作系统:  打开文件

  计算机硬件:  硬盘空间

 

如何用文件

  打开文件

  读/写

  关闭文件

 

f的值---》文件句柄,文件对象

f = open(r"a\a.txt",mode = "rt",)



res = f.read()

print(res.type(res))

 

回收操作系统的资源

f.close()

print(res.type(res))

print(f)

f.read()

 

with open(r"a\a.txt",mode = "rt",) as f,\

    open(r"a\b.txt",mode = "rt",) as f1:
  res = f.read()



with open(r"a\a.txt",mode = "rt",) as f:
    for line in f:
        #print(line)
        res = line.strip('\n').split(':')
        print(res)

 

posted @ 2020-12-24 15:05  gwj02  阅读(97)  评论(0)    收藏  举报