#!/usr/bin/env python
# -*- coding:utf-8 -*- # 1.列举你了解的字典中的功能(字典独有)。
'''
dic.keys() 获取所有key
dic.values() 获取所有value
dic.items() 获取所有键值对
dic.get(key) 得到key对应的value
dic.pop(key) 删除key对应的键值对,返回key对应的value
dic.update() 更新()内的内容到dic中.有则更新,无则添加.
''' # 2.列举你了解的集合中的功能(集合独有)。
'''
.add() 添加
.discard(key) 删除
.update() 更新
.intersection() 交集
.union() 合集
.difference() 差集
.symmetric_difference() 对称差集
'''
# 3.列举你了解的可以转换为 布尔值且为False的值。
'''
0,'',[],(),{},set()
''' # 4.请用代码实现
# info = {'name':'王刚蛋','hobby':'铁锤'}
# 4.1循环提示用户输入,根据用户输入的值为键去字典中获取对应的值并输出。
'''
while 1:
a = input('请输入键:')
print(info.get(a))
'''

while 1:
a = input('请输入键:')
if a in list(info.keys()):
print(info.get(a,'键不存在'))
else:
print('键不存在')
# 4.2循环提示用户输入,根据用户输入的值为键去字典中获取对应的值并输出(如果key不存在,则获取默认“键不存在”,并输出)。
# 注意:无需考虑循环终止(写死循环即可)
'''
while 1:
a = input('请输入键:')
if a in list(info.keys()):
print(info.get(a))
else:
print('键不存在')
''' # 5.请用代码验证 "name" 是否在字典的键中?
'''
info = {'name': '王刚蛋', 'hobby': '铁锤', 'age': '18', }
if 'name' in list(info.keys()):
print('yes')
else:
print('no')
''' # 6.请用代码验证 "alex" 是否在字典的值中?
'''
info = {'name': '王刚蛋', 'hobby': '铁锤', 'age': '18', }
if 'alex' in list(info.values()):
print('yes')
else:
print('no')
''' # 7.有如下
# v1 = {'武沛齐','李杰','太白','景女神'}
# v2 = {'李杰','景女神'}
# 7.1请得到 v1 和 v2 的交集并输出
'''
v = v1.intersection(v2)
print(v)
'''
# 7.2请得到 v1 和 v2 的并集并输出
'''
v = v1.union(v2)
print(v)
'''
# 7.3请得到 v1 和 v2 的 差集并输出
'''
v = v1.difference(v2)
print(v)
'''
# 7.4请得到 v2 和 v1 的 差集并输出
'''
v = v2.difference(v1)
print(v)
''' # 8.循环提示用户输入,并将输入内容追加到列表中(如果输入N或n则停止循环)
'''
lst = []
while 1:
a = input('请输入:')
if a.upper() == 'N':
break
lst.append(a)
print(lst)
''' # 9.循环提示用户输入,并将输入内容添加到集合中(如果输入N或n则停止循环)
'''
a = set()
while 1:
msg = input('请输入:')
if msg.upper() == 'N':
break
a.add(msg)
print(a)
''' # 10.写代码实现
# 循环提示用户输入,如果输入值在v1中存在,则追加到v2中,如果v1中不存在,则添加到v1中。(输入N或n则停止循环)
'''
v1 = {'alex', '武sir', '肖大'}
v2 = []
while 1:
a = input('请输入:')
if a.upper() == 'N':
break
elif a in v1:
v2.append(a)
else:
v1.add(a)
print(v1,v2)
''' # 11.判断以下值那个能做字典的key ?那个能做集合的元素?
# 1 字典的key 集合的元素
# -1 字典的key 集合的元素
# "" 字典的key 集合的元素
# None 字典的key 集合的元素
# [1,2] 不可哈希,都不行
# (1,) 字典的key 集合的元素
# {11,22,33,4} 不可哈希,都不行
# {'name':'wupeiq','age':18} 不可哈希,都不行 # 12.is 和 == 的区别?
'''
is 判断两者内存地址是否相同
== 判断两者的值是否相同
''' # 13.type使用方式及作用?
'''
使用方式:type(内容)
作用:输出()里内容的数据类型
''' # 14.id的使用方式及作用?
'''
使用方式:id(内容)
作用:查看内容的内存地址
''' # 15.看代码写结果并解释原因
'''
v1 = {'k1': 'v1', 'k2': [1, 2, 3]}
v2 = {'k1': 'v1', 'k2': [1, 2, 3]} result1 = v1 == v2 # True
result2 = v1 is v2 # False
print(result1)
print(result2) # v1==v2判断值是否相等,is判断内存地址是否相等
''' # 16.看代码写结果并解释原因
'''
v1 = {'k1':'v1','k2':[1,2,3]}
v2 = v1 result1 = v1 == v2 # True
result2 = v1 is v2 # True
print(result1)
print(result2) # v1,v2指向同一地址
''' # 17.看代码写结果并解释原因
'''
v1 = {'k1':'v1','k2':[1,2,3]}
v2 = v1 v1['k1'] = 'wupeiqi'
print(v2) # {'k1':'wupeiqi','k2':[1,2,3]} # 修改原地址的值,指向同一地址的值都会改变.
''' # 18.看代码写结果并解释原因
'''
v1 = '人生苦短,我用Python'
v2 = [1, 2, 3, 4, v1]
v1 = "人生苦短,用毛线Python"
print(v2) # [1, 2, 3, 4, '人生苦短,我用Python'] # v2[-1]指向v1原地址,v1被赋予新值改变地址,不影响v2指向的原地址.
''' # 19.看代码写结果并解释原因
'''
info = [1, 2, 3]
userinfo = {'account': info, 'num': info, 'money': info}
info.append(9)
print(userinfo) # {'account': [1, 2, 3,9], 'num': [1, 2, 3,9], 'money': [1, 2, 3,9]}
info = "题怎么这么多"
print(userinfo) # {'account': [1, 2, 3,9], 'num': [1, 2, 3,9], 'money': [1, 2, 3,9]} # 第三行info改变原值指向info的都会受影响,第五行变量赋值不影响已经改变的userinfo。
''' # 20.看代码写结果并解释原因
'''
info = [1, 2, 3]
userinfo = [info, info, info, info, info]
info[0] = '不仅多,还特么难呢'
print(info, userinfo) # ['不仅多,还特么难呢', 2, 3] [['不仅多,还特么难呢', 2, 3], ['不仅多,还特么难呢', 2, 3], ['不仅
# 多,还特么难呢', 2, 3], ['不仅多,还特么难呢', 2, 3], ['不仅多,还特么难呢', 2, 3]] # userinfo中都指向info,info的第0项改变会影响userinfo.
''' # 21.看代码写结果并解释原因
'''
info = [1, 2, 3]
userinfo = [info, info, info, info, info]
userinfo[2][0] = '闭嘴'
print(info, userinfo) # ['闭嘴', 2, 3] [['闭嘴', 2, 3], ['闭嘴', 2, 3], ['闭嘴', 2, 3], ['闭嘴', 2, 3], ['闭嘴', 2, 3]] # userinfo第二项的第0项被赋值,也就是info[0]改变,影响info.
''' # 22.看代码写结果并解释原因
'''
info = [1, 2, 3]
user_list = []
for item in range(10):
user_list.append(info) # user_list = [info*10]
info[1] = "是谁说Python好学的?"
print(user_list) # user_list = [[1,"是谁说Python好学的?",3]*10] # for循环user_list添加info十次,info[1]改变原值,user_list也改变.
''' # 23.看代码写结果并解释原因
'''
data = {}
for i in range(10):
data['user'] = i
print(data) # {'user':9} # for循环date添加key为user,i为value十次,字典中存在则替换,i最后一次循环是9.
''' # 24.看代码写结果并解释原因
'''
data_list = []
data = {}
for i in range(10):
data['user'] = i # data = {'user':i}
data_list.append(data) # (data)指向{'user':i}
print(data_list) # data = [{'user':9}*10] # data.list.append(data)指向{'user':i},最后一次循环i=9,修改了data的内容,输出的内容受影响.
''' # 25.看代码写结果并解释原因
'''
data_list = []
for i in range(10):
data = {} # 每次循环都是新的字典
data['user'] = i
data_list.append(data)
print(data_list) # [{'user': 0},{'user': 1},...{'user': 9}] # 每次循环都是新的字典,新地址,所以原来添加进去的data不受影响.
'''

oldboy s21day06的更多相关文章

  1. s21day06 python笔记

    s21day06 python笔记 一.昨日内容回顾及补充 回顾 补充 列表独有功能 reverse:反转 v = [1,2,3,4,5] v.reverse() #[5,4,3,2,1] sort: ...

  2. oldboy第一天学习

    oldboy第一天学习 一.听Alex Li 吹牛逼! 1.老男孩附加的功能.每节课都有鸡汤.节省时间,投资自己.结识更多的朋友. 2.python的创始人为吉多·范罗苏姆(Guido van Ros ...

  3. oldboy s21day14装饰器模块和面试题

    # 1.为函数写一个装饰器,在函数执行之后输入 after"""def wrapper(arg): def inner(*args): arg() print('afte ...

  4. oldboy s21day07(深浅拷贝及文件操作)

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.看代码写结果'''v1 = [1, 2, 3, 4, 5]v2 = [v1, v1, v1]v1.app ...

  5. oldboy s21day05

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.请将列表中的每个元素通过 "_" 链接起来.'''users = ['李少奇','李 ...

  6. oldboy s21day01

    1.操作系统的作用? 人操作软件,软件控制操作系统,操作系统控制硬件.2.列举你听过的操作系统及区别? 1.Windows 7/8/10 付费,操作方便,长时间运行卡顿. 2.Linux(Ubuntu ...

  7. [python][oldboy] * **的用法

    * 和**主要用在函数的参数中, # coding=utf8 """ 三种编码: 1 python程序代码的编码 # coding=utf8 2 设置/查看python程 ...

  8. [python][oldboy][dict] 遍历字典

    # coding=utf8 dict_info = {"abc": 1, 1: "liuzhipeng"} for k, v in dict_info.item ...

  9. [python][oldboy]list append, extend

    # coding=utf8 li = [1, 3, [1, "liu"], "liu"] print li li.append([1, 2]) print li ...

随机推荐

  1. 【PAT】B1014 福尔摩斯的约会

    因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四: 第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 ...

  2. windows10 1903 64位系统

    近日,微软完成并开始推送Windows 10 2019年的第一个重大升级的预览版本,版本号是v1903,命名则是2019年5月更新版. 点击下载windows10

  3. PowerDesigner表设计中的P F M分别代表什么意思?

    版本 如下图中的P.F.M代表什么意思呢? P即primary,主键的意思 F即foreign key,外键的意思 M即mandatory,强制不可为空的意思

  4. 关于 pyspider Web预览界面太小的解决方法

    本人最近在学习pyspider时,遇到Web预览界面太小而无法很好的进行开发,于是在网上搜索解决方法. 准备: css代码: body{margin:;padding:;height:%;overfl ...

  5. ideal中项目resources下txt文件读取不到的问题。

    这次做项目,原来用到了一个txt文件,在ideal中项目启动后报读取不到txt文件.项目原来是在eclipse中的. 在网上找了些文章,发现ideal中要读取到resources下的文件需要加上下面红 ...

  6. 面向对象内置方法之--__str__、__call__、__del__

    __str__: 在对象被打印的时候触发,可以用来定义对象被打印的输出格式 __del__:在对象被删除的时候触发,可以 用来回收对象以外的其他相关资源,比如系统资源等. __call__:在对象呗调 ...

  7. TestNG安装及使用

    安装:https://www.cnblogs.com/xusweeter/p/6559196.html使用:https://www.cnblogs.com/liwu/p/5113936.html 作用 ...

  8. .NET Core 实现 Redis 批量查询指定格式的Key

    一. 问题场景 Redis 作为当前最流行的内存型 NoSQL 数据库,被许多公司所使用,作为分布式缓存.我们在实际使用中一般都会为 key 带上指定的前缀或者其他定义的格式.当由于我们程序出现bug ...

  9. 解读 IoC 框架 InversifyJS

    原文链接 InversityJS 是一个 IoC 框架.IoC(Inversion of Control) 包括依赖注入(Dependency Injection) 和依赖查询(Dependency ...

  10. 新Chrome浏览器不支持html5的问题

    window.applicationCache事件,最新chrome浏览器已经不能判断是否支持html5: 之前,在IE和Google中 为ApplicationCache对象,而在FF中为 Offl ...