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 ...
随机推荐
- 合并两个有序链表的golang实现
将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 输入:->->, ->-> 输出:->->->->-> ...
- 【Linux基础】判断当前机器是虚拟机还是物理机
1.使用dmidecode命令查看(root权限) DMI (Desktop Management Interface, DMI)的主要组成部分是Management InformationForma ...
- 监控elssticSearch健康状态
[4ajr@elk1 scripts]$ curl 172.30.210.175:9200/_cat/health [4ajr@elk1 scripts]$ cat check_es_healthy. ...
- python小白——进阶之路——day3天-———运算符
(1)算数运算符: + - * / // % ** (2)比较运算符: > < >= <= == != (3)赋值运算符: = += -= *= /= //= %= ** ...
- InheritedWidget
下面这个示例是InheritedWidgt的一个简单用法: class CounterProvider extends InheritedWidget{//数据之前必须加上final,下面这三个数据都 ...
- vs2015第二次装安装不能选择路径问题解决方法
vs2015卸载后注册表还会存在vs2015的信息,下次安装的时候会读注册表里面记录的路径,不能自己选择路径. 解决方法: 1.在vs安装文件的路径打开命令,shift+鼠标右键 2.输入命令:cn_ ...
- Python的dnspython库使用指南
因为平时在测试DNS的时候有些操作手动完成不方便,所以需要用到脚本,而在Python里dnspython这个用于DNS操作的库十分强大,但是无奈网上大部分资料只列举了少部分的用法,所以记录一下我平时使 ...
- Spring 使用AOP——基于注解配置
首先,使用注解实现AOP是基于AspectJ方式的. 创建包含切点方法的类 package cn.ganlixin.test; import org.aspectj.lang.annotation.P ...
- T66099 小xzy的数对 题解
T66099 小xzy的数对 题目背景 老师带同学参加表演,要求学生两两一组表演,但有些学生一起会发生冲突,现在老师想知道有多少组学生分到一起时不会发生冲突. 题目描述 学生发生冲突当且仅当他们身上的 ...
- Python 使用 matplotlib绘制3D图形
3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何在Python中使用 matplotlib进行3D图形的绘制,包括3D散点.3D表面.3D轮廓.3D直线( ...