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基础知识笔 ...
随机推荐
- Object-c学习之路八(NSArray(数组)遍历和排序)
今天学习了NSArray的遍历和排序,现在在这里做一下总结: 遍历现在实现了四中方法: 排序大概有三中方法:(代码中都有注释) 关于对象的排序还是以Student和Book为例 每个Student持有 ...
- Oracle误删恢复
query deleted datarows: select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss ...
- Jquery文本框值改变事件(支持火狐、ie)
Jquery值改变事件支持火狐和ie浏览器,并且测试通过,绑定后台代码可以做成autocomplete控件. 具体代码列举如下: $(document).ready(function () { $(& ...
- 利用pdf2swf将PDF转换成SWF
将PDF转换成SWF可以使用SWFTools工具中的pdf2swf(http://www.swftools.org/),CSDN快速免积分下载地址http://download.csdn.net/de ...
- linux命令——iotop
查看CPU使用情况用top,查看I/O使用情况就需要iotop.这个命令是在 kernel v2.6.20中添加,安装的时候要注意内核的版本号. iotop常用快捷键 1. 左右箭头 --> 改 ...
- android自定义View---生成虚线的View
1.在res/values/目录下 新建文件 attrs.xml <? xml version = "1.0" encoding = "utf-8&q ...
- [置顶] Android图片异步加载之Android-Universal-Image-Loader
将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就 ...
- Python学习入门基础教程(learning Python)--2.3.3Python函数型参详解
本节讨论Python下函数型参的预设值问题. Python在设计函数时,可以给型参预设缺省值,当用户调用函数时可以不输入实参.如果用户不想使用缺省预设值则需要给型参一一赋值,可以给某些型参赋值或不按型 ...
- Swift 3.0 字符串、数组、字典的使用
1.字符串 string func stringTest() -> Void { // 字符串 let str1 = "yiyi" let str2 = "2222 ...
- [ios2]ios系统中各种设置项的url链接
在代码中调用如下代码:(ps: ios 5.0 以后不可用)NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"];[[UIAppli ...