oldboy s21day06
#!/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的更多相关文章
- s21day06 python笔记
s21day06 python笔记 一.昨日内容回顾及补充 回顾 补充 列表独有功能 reverse:反转 v = [1,2,3,4,5] v.reverse() #[5,4,3,2,1] sort: ...
- oldboy第一天学习
oldboy第一天学习 一.听Alex Li 吹牛逼! 1.老男孩附加的功能.每节课都有鸡汤.节省时间,投资自己.结识更多的朋友. 2.python的创始人为吉多·范罗苏姆(Guido van Ros ...
- oldboy s21day14装饰器模块和面试题
# 1.为函数写一个装饰器,在函数执行之后输入 after"""def wrapper(arg): def inner(*args): arg() print('afte ...
- oldboy s21day07(深浅拷贝及文件操作)
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.看代码写结果'''v1 = [1, 2, 3, 4, 5]v2 = [v1, v1, v1]v1.app ...
- oldboy s21day05
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.请将列表中的每个元素通过 "_" 链接起来.'''users = ['李少奇','李 ...
- oldboy s21day01
1.操作系统的作用? 人操作软件,软件控制操作系统,操作系统控制硬件.2.列举你听过的操作系统及区别? 1.Windows 7/8/10 付费,操作方便,长时间运行卡顿. 2.Linux(Ubuntu ...
- [python][oldboy] * **的用法
* 和**主要用在函数的参数中, # coding=utf8 """ 三种编码: 1 python程序代码的编码 # coding=utf8 2 设置/查看python程 ...
- [python][oldboy][dict] 遍历字典
# coding=utf8 dict_info = {"abc": 1, 1: "liuzhipeng"} for k, v in dict_info.item ...
- [python][oldboy]list append, extend
# coding=utf8 li = [1, 3, [1, "liu"], "liu"] print li li.append([1, 2]) print li ...
随机推荐
- C. Maximal Intersection(STL)
这道题,关键在于怎么求多个区间的交集,使用multiset就可以 分别将 r , l 存在不同的mutiset中. 然后,我们来看一下 是不是 交集的 l 是最大的, 交集的 r 是最小的 #incl ...
- Python#常用的模块和简单用法
目录 random 随机模块 os 文件夹模块: time 时间模块: matplotlab.pyplot 作图模块 mpl_toolkits.mplot3d 绘制3D图模块 Pygame Reque ...
- Elasticsearch 通关教程(二): 索引映射Mapping问题
数据库建表的时候,我们的DDL语句一般都会指定每个字段的存储类型,例如:varchar,int,datetime等等,目的很明确,就是更精确的存储数据,防止数据类型格式混乱. CREATE TABLE ...
- 周末学习笔记——day01(函数,函数对象,嵌套调用,名称空间,作用域,闭包,装饰器)
一,复习 字符编码 文件头:py2—ASCII,py3—UTF-8 三种字符串:u' ' b ' ' r ' ' u' ' .endcode(' utf-8 ') b' '.deconde(' utf ...
- AtCoder Beginner Contest 124 D - Handstand(思维+前缀和)
D - Handstand Time Limit: 2 sec / Memory Limit: 1024 MB Score : 400400 points Problem Statement NN p ...
- 论PHP框架设计模式及MVC的缺陷
目前主流的PHP框架设计模式均为MVC模式,比如yii或codeigniter,均是由控制器接收页面请求,并沟通模型与视图的交互.如果我们把网站整体看作一个矩阵,把网站接收用户请求并处理看作是网站的竖 ...
- 求100之内的素质并输出(最优算法)-PHP面试题
曾经第一次面试题中的题目, 今天碰巧看到整理一下 当时用了最基本的算法写出来了, 两个for循环, 一个一个取余, 是质数就放进结果数组中 代码如下, 检查代码运行时间的代码是来对比三种不同算法的优劣 ...
- 如何在Eclipse中Debug调试Java代码
背景 有的时候你想debug调试Java的源代码,就想试图在Java源代码中设置断点,在Eclipse中常常会出现Unable to insert breakpoint Absent Line Num ...
- [转帖]Ansible 入门秘诀
Ansible 入门秘诀 作者: Jose Delarosa 译者: LCTT jdh8383 | 2019-03-08 09:24 收藏: 2 用 Ansible 自动化你的数据中心的关键点. ...
- 使用lombok自动生成链式调用
本文转载:使用 Lombok 自动生成 Getter and Setter