#!/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. LeetCode算法题-Minimum Index Sum of Two Lists(Java实现)

    这是悦乐书的第272次更新,第286篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第139题(顺位题号是599).假设Andy和Doris想要选择一家餐馆吃晚餐,他们都有 ...

  2. Redis学习笔记(5)——Redis数据持久化

    出处http://www.cnblogs.com/xiaoxi/p/7065328.html 一.概述 Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的,然而当Redis重启后,所有存 ...

  3. 20 python 初学(logging模块)

    学习网站:https://www.cnblogs.com/yuanchenqi/articles/5732581.html logging 模块: # _author: lily # _date: 2 ...

  4. Oracle 史上最全近百条Oracle DBA日常维护SQL脚本指令

    史上最全近百条Oracle DBA日常维护SQL脚本指令 https://mp.weixin.qq.com/s?__biz=MjM5MDAxOTk2MQ==&mid=2650281305&am ...

  5. odoo中def init(self):

    # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. f ...

  6. 利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库)

    利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库),完成预期的任务,大致有下面几步: 1.代码提交到github平台 2.创建.podspec 3. ...

  7. Linux命令1

     1.获取当前系统支持的所有命令的列表: compgen ­-c  2.怎样查看一个linux命令的概要与用法: whatis grep #便可查到grep的用法 3.怎样一页一页地查看一个大文件的内 ...

  8. iview render input每输入一个字符就会自动跳出焦点

    假如你绑定的table的数据是tableData,input数据改变的时候你把整行的数据替换掉,就不会造成table重新渲染,导致input失焦了 h('InputNumber', { props: ...

  9. 软件工程(GZSD2015) 第二次作业小结

    第二次作业,从4月7号开始,陆续开始提交作业.根据同学们提交的作业报告,相比第一次作业,已经有了巨大改变,大家开始有了完整的实践,对那些抽象的名词也开始有了直观的感受,这很好.然后有一些普遍存在的问题 ...

  10. Kubernetes — 为什么我们需要Pod?

    不过,我相信你在学习和使用 Kubernetes 项目的过程中,已经不止一次地想要问这样一个问题:为什么我们会需要 Pod? 是啊,我们在前面已经花了很多精力去解读 Linux 容器的原理.分析了 D ...