day9作业

帅兰

# 1.用至少三种方式完成对列表l1的去重操作
l1 = ['b', 'c', 'd', 'b', 'c', 'a', 'a']

# 方式一
l1 = set(l1)
print(l1)

# 方式二
l2 = []
for i in l1:
    if i not in l2:
        l2.append(i)
print(l2)

# 方式三
for i in l1:
    if l1.count(i) > 1:
        l1.remove(i)
print(l1)

# 2.关系运算
# 有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
pythons = {'jason', 'egon', 'kevin', 'ricky', 'gangdan', 'biubiu'}
linuxs = {'kermit', 'tony', 'gangdan'}

# 1.求出即报名python又报名linux课程的学员名字集合
res = pythons & linuxs
print(res)

# 2.求出所有报名的学生名字集合
res = pythons | linuxs
print(res)

# 3.求出只报名python课程的学员名字
res = pythons - linuxs
print(res)

# 4.求出没有同时这两门课程的学员名字集合
res = pythons ^ linuxs
print(res)

# ps: 衍生小知识总结如何找出两个列表中相同元素与不同元素
# 方案一:
list1 = [1, 2, 3]
list2 = [3, 4, 5]
list2 = set(list2)
list1 = set(list1)
print(list1 & list2)
print(list1 ^ list2)

# 方案二:闭眼写的,也能实现
list1 = [1, 2, 3]
list2 = [3, 4, 5]
l1 = []
l2 = []
for i in list1:
    if i in list2:
        if i not in l1:
            l1.append(i)
    else:
        if i not in l2:
            l2.append(i)
for i in list2:
    if i in list1:
        if i not in l1:
            l1.append(i)
    else:
        if i not in l2:
            l2.append(i)
print('相同:', l1)
print('不同:', l2)

# 3.单位换算
bit、bytes、KB、MB、GB、TB、PB
bytes = 8bit
1024bytes = 1KB
1024KB = 1MB
1024MB = 1GB
1024gB = 1tB
1024tB = 1pB

# 4.请列举出你所知道的PEP8规范
# 每一级缩进使用4个空格。
# 元素之间空格隔开
# 变量名由小写字母,数字下划线组成,不能由数字开头
# 等等

# 5.阐述编码表ASCII、GBK、unicode各自特点及由来

# ASCLL:
# 现代计算机起源于美国,所以最先考虑仅仅是让计算机识别英文字符,于是诞生了ASCII表
# 特点:
#  1、只有英文字符与数字的一一对应关系
#  2、一个英文字符对应1Bytes,1Bytes=8bit,8bit最多包含256个数字,可以对应256个字符,足够表示所有英文字符

# GBK:
# 为了让计算机能够识别中文和英文,中国人定制了GBK
# 特点:
# 1、只有中文字符、英文字符与数字的一一对应关系
# 2、一个英文字符对应1Bytes,一个中文字符对应2Bytes

# Unicode:
# 各国的文字编码表不互通,所以就有了可以识别万国字符的unicode编码表
# 特点:#1. 存在所有语言中的所有字符与数字的一一对应关系,即兼容万国字符,与传统的字符编码的二进制数都有对应关系,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值