一、字典用法

字典是一种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的更多相关文章

  1. Python基础知识学习_Day1

    1,python介绍 诞生于1989年圣诞节,目前越来越受到业界认可.应用领域十分广泛 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为P ...

  2. Python基础知识学习随笔

    Python学习随笔:PyCharm的错误检测使用及调整配置减少错误数量 Python学习随笔:获取当前主机名和用户名的方法 博客地址:https://blog.csdn.net/LaoYuanPyt ...

  3. Python基础知识学习_Day8

    一.类的扩展方法 1.静态方法 语法:@staticmethod,静态方法不能访问公有属性,不能访问类.可在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量. class eat( ...

  4. Python基础知识学习_Day7

    一.Subprocess模块 1常用方法 执行命令,返回命令执行状态,0 or非0 >>> retcode = subprocess.call(["ls", &q ...

  5. Python基础知识学习_Day6

    一.time&datetime模块 常用选项如下: import time print(time.asctime()) #返回时间格式 print(time.localtime())#返回本地 ...

  6. Python基础知识学习_Day5

    一.生成器和迭代器 1.列表生成 >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> a = map(lambda x:x+1, a ...

  7. Python基础知识学习_Day4

    一.函数 1.1函数特性 减少重复代码 使程序可扩展 使程序变得容易维护 1.2函数定义和使用 def 函数名(参数): ...... 函数体 ...... 返回值 函数定义主要特点如下: def:表 ...

  8. Python基础知识学习_Day2

    一.for循环 1.1功能及语法 for循环是迭代循环机制(while是条件循环),语法如下: for i in a b c: print(i) 1.2典型例子: 1.2.1猜年龄循环 realy_a ...

  9. python基础知识的学习和理解

    参考链接:https://github.com/yanhualei/about_python/tree/master/python_learning/python_base   python基础知识笔 ...

随机推荐

  1. MVC几种传值方式

    一,Model public class Course { public int Id { get; set; } public string Name { get; set; } } public ...

  2. Arcglobe三维信息系统开发常见问题

    1.SDE数据库导入GDB三维图层时,发生Z值丢失 问题描述:从GDB数据库中,将一部分mutipath图层导入到SDE数据库中.用相应的arcengine程序或Arcglobe中缩放至图功能时,发现 ...

  3. MySQL中函数、游标、事件、视图基本应用举例(代码)

    MySQL中function用户自定义函数c,fun,fun是面向过程的实现方式只能传入参数,或不传入参数,不能传出参数,必有返回值函数中是不能有create table drop table之类的语 ...

  4. MVVM1

    silverlight的数据校验大体分成3种类型: 数据是非必填的但是需要满足相应数据格式的 数据是必填的且可能需要进行数据格式校验的 其他(如数据的联动校验) 以下的数据校验方式针对第二种: 在相应 ...

  5. 巧用百度Site App新组件为企业官网打造移动站

    一年前我曾经详细介绍过百度Site App,时隔一年的发展,Site App再一次发生了翻天覆地的变化:自定义程度更高.新增电话地图组件.增加流量统计.增加广告管家.生成APP客户端等功能,百度Sit ...

  6. Sybase数据库截断和清空日志的方法

    今天碰到一个奇怪的问题,当我打开应用程序的时候,开始的时候鼠标图标还显示程序正在启动,可是一会后,就没有任何反应了.重复了N多次都是这样,后来发现,每次打开应用程序的时候,任务管理器中都会相应的多一个 ...

  7. 开发一个微信小程序教程

    一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可. 2.注册成功后进入首页,在 小程序发布流程->小程序 ...

  8. Chrome浏览器加载CSS文件TTFB waiting超时的奇葩问题

    今天本来调试 requirejs 加载js异常的问题,试了下Chrome浏览器,结果意外发现这个 CSS 加载异常的BUG,非常非常奇怪. 本地测试环境是 wi7x64 安装的 XAMPP 3.2.1 ...

  9. 使用java连接MySql,中文乱码解决的方法

    排查MySql中文乱码的问题 1.在cmd中启动MySql. 打开命令提示符cmd,输入"mysql -uusername -ppassword",回车,就可以连接到数据库. 如输 ...

  10. Maven之(四)Maven命令

    常用命令 从某种意义上来说,软件是帮助不懂程序的人来操作计算机的,图形化界面尤其如此.在上个世纪,比尔盖茨之所以成为世界首富,微软之所以IT界的巨鳄,就是因为Windows开图形化操作之先河,并抢先占 ...