Python基础知识学习_Day3
一、字典用法
字典是一种key-value数据类型,通过key获取具体value的内容,字典的特性是无序、去重。
增删改查用法如下:
1.1基本增删改查操作
name = {"name":"alex","age":"","xx":{"ed":3000,"ye":2000}}
print(name["name"]) #打印name对应的value的内容
print(name.get("name")) #select
name["sex"] = "boy" # add
print(name)
del name["sex"] #del
print(name)
name.pop("name") #del
print(name)
name.clear() #清空字典
print(name)
name2 = name.copy() #浅copy,只修改第一层,第二层不变。
name2["sex"] = "girl"
name2["xx"]["ye"] = ""
print(name)
print(name2)
print(name.fromkeys("alex","")) #分别赋值
print(name.keys()) #打印所有key
1.2 字典循环用法
方法1.
name = {"name":"alex","age":"","xx":{"ed":3000,"ye":2000}}
for i in name: #这种for 以后常用
print(i,name[i]) #打印key value的值 方法2.
for k,v in name: #会先把dict转成list,数据里大时莫用
print(k,v)
1.3 三级菜单经典版
menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}
current_level = menu #定义当前层
last_levels = [] #标记级别
while True:
for key in current_level:
print(key)
choice = input("pls input city:").strip()
if choice == 0:continue #输入为空,继续输入
if choice =='b': #退出判断
if len(last_levels) ==0: break #回到第一层,退出程序
current_level = last_levels[-1] #返回上一层
last_levels.pop() #删掉当前层
if choice not in current_level:continue #如果输入错误,继续输入
last_levels.append(current_level) #记录当前层
current_level = current_level[choice] #进入下一层
三级菜单程序
二、集合用法
集合是无序的不重复的数据组合,可以测试两个集合直接的交集、并集、差集等
2.1集合的基本用法
s1 = {1,2,3,4,5}
s2 = {2,3,6,7}
s3 = {2,3}
print(s1.intersection(s2))#交集
print(s1&s2) #交集
print(s1.difference(s2))#差集
print(s2.difference(s1))#差集
print(s1-s2) #差集
print(s1.union(s2)) #合集
print(s1|s2) #合计
print(s1.symmetric_difference(s2))#对称差集
print(s2.symmetric_difference(s1))#对称差集
print(s1^s2) #对称差集
print(s3.issuperset(s1)) #子集
print(s1.issuperset(s3)) #子集
print(s3<s1) #子集
三、字符编码集
用什么字符集写入就用什么字符集读取。
内存都是unicode编码,统一字节,高效。
四、文件操作
4.1基本操作
主要分三步,打开文件,处理文件,关闭文件。
f =open('a.txt','r') #只读方式打开文件
first_line = f.readline() #只读一行
data = f.read()# 读取剩下的所有内容,文件大时不要用
f.close() #关闭文件
4.2 基本选项
r,只读模式打开(默认)
w,只写模式打开(清空原文件内容)
a,追加模式(相当于列表里面的append),可以读。
r+,读写模式
w+, 写读模式
rb wb ab 表示处理二进制文件。
4.3 文件字符替换
f = open('test',encoding="utf-8")
for i in f:
if "hello" in i:
i = i.replace("hello","good")
print(i)
4.4 文件光标移动
f = open('test',encoding="utf-8")
f.seek(10) #移动文件光标到第10个字节
print(f.read())
print(f.tell()) #显示当前光标位置
Python基础知识学习_Day3的更多相关文章
- Python基础知识学习_Day1
1,python介绍 诞生于1989年圣诞节,目前越来越受到业界认可.应用领域十分广泛 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为P ...
- Python基础知识学习随笔
Python学习随笔:PyCharm的错误检测使用及调整配置减少错误数量 Python学习随笔:获取当前主机名和用户名的方法 博客地址:https://blog.csdn.net/LaoYuanPyt ...
- Python基础知识学习_Day8
一.类的扩展方法 1.静态方法 语法:@staticmethod,静态方法不能访问公有属性,不能访问类.可在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量. class eat( ...
- Python基础知识学习_Day7
一.Subprocess模块 1常用方法 执行命令,返回命令执行状态,0 or非0 >>> retcode = subprocess.call(["ls", &q ...
- Python基础知识学习_Day6
一.time&datetime模块 常用选项如下: import time print(time.asctime()) #返回时间格式 print(time.localtime())#返回本地 ...
- Python基础知识学习_Day5
一.生成器和迭代器 1.列表生成 >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> a = map(lambda x:x+1, a ...
- Python基础知识学习_Day4
一.函数 1.1函数特性 减少重复代码 使程序可扩展 使程序变得容易维护 1.2函数定义和使用 def 函数名(参数): ...... 函数体 ...... 返回值 函数定义主要特点如下: def:表 ...
- Python基础知识学习_Day2
一.for循环 1.1功能及语法 for循环是迭代循环机制(while是条件循环),语法如下: for i in a b c: print(i) 1.2典型例子: 1.2.1猜年龄循环 realy_a ...
- python基础知识的学习和理解
参考链接:https://github.com/yanhualei/about_python/tree/master/python_learning/python_base python基础知识笔 ...
随机推荐
- IOS学习之路十四(用TableView做的新闻客户端展示页面)
最近做的也个项目,要做一个IOS的新闻展示view(有图有文字,不用UIwebview,因为数据是用webservice解析的到的json数据),自己一直没有头绪,可后来听一个学长说可以用listvi ...
- Unable to start activity异常的解决方案
当时我正在测试一个用户身份验证组件.使用的是android内置的Accounts API.当时的情况是,需要在App2中调用App1的用户身份验证组件,但是不知道为什么登入界面总是无法正常开启.后来我 ...
- Linux下的IO监控与分析
Linux下的IO监控与分析 近期要在公司内部做个Linux IO方面的培训, 整理下手头的资料给大家分享下 各种IO监视工具在Linux IO 体系结构中的位置 源自 Linux Performan ...
- 依赖注入DI
说AOP不得不提依赖注入,先来看看一个实例.通过实例来解释依赖注入和它的用途. 我们现在要设计一个关于衣服的上架功能,有时候需要进行促销,我们现在知道的促销方式有打1折,和打2折. 最初的方案: pu ...
- JavaScript的基本类型总结
看了让你有收获的JavaScript的基本类型总结 Javascript是一种弱类型语言,没有明确的类型分类:网上分类的方式比较多,个人感觉不比去特别的追究细分是什么什么类型,若是能够明确的分出类 ...
- 自己动手写spring容器(2)
上篇我们自己写了一个很简单的spring容器,该容器只是做了简单的bean的实例化,并没有spring的核心之一的IOC(依赖注入),也叫做控制反转,这里我就不讲这个的具体含义,不知道的园友可以自行百 ...
- Python Tutorial - Parse JSON Objects with Python
This tutorial is copied from youtube.com Here is the link: http://www.youtube.com/watch?v=RXqo3lC-JP ...
- Go - Revel框架介绍
Go - Revel框架介绍 https://github.com/robfig/revel http://robfig.github.io/revel/ web框架:revel 数据库:mongod ...
- POSIX多线程——基本线程管理函数介绍
POSIX基本的几个线程管理函数见下表: ------------------------------------------------------------------------------- ...
- 微信内嵌H5网页 解决js倒计时失效
项目要求:将H5商城页面嵌套到公司微信公众号里 项目本身的开发跟移动端网页并无太多差异,只是这昨天遇到一个问题,说是棘手,到也简单. 用户下单后,在选择支付方式页面,有个倒计时的逻辑(从下单时开始计算 ...