一、字典用法

字典是一种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. Object-c学习之路八(NSArray(数组)遍历和排序)

    今天学习了NSArray的遍历和排序,现在在这里做一下总结: 遍历现在实现了四中方法: 排序大概有三中方法:(代码中都有注释) 关于对象的排序还是以Student和Book为例 每个Student持有 ...

  2. Oracle误删恢复

    query deleted datarows: select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss ...

  3. Jquery文本框值改变事件(支持火狐、ie)

    Jquery值改变事件支持火狐和ie浏览器,并且测试通过,绑定后台代码可以做成autocomplete控件. 具体代码列举如下: $(document).ready(function () { $(& ...

  4. 利用pdf2swf将PDF转换成SWF

    将PDF转换成SWF可以使用SWFTools工具中的pdf2swf(http://www.swftools.org/),CSDN快速免积分下载地址http://download.csdn.net/de ...

  5. linux命令——iotop

    查看CPU使用情况用top,查看I/O使用情况就需要iotop.这个命令是在 kernel v2.6.20中添加,安装的时候要注意内核的版本号. iotop常用快捷键 1. 左右箭头 --> 改 ...

  6. android自定义View---生成虚线的View

    1.在res/values/目录下 新建文件 attrs.xml <?  xml   version =  "1.0"   encoding =  "utf-8&q ...

  7. [置顶] Android图片异步加载之Android-Universal-Image-Loader

    将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就 ...

  8. Python学习入门基础教程(learning Python)--2.3.3Python函数型参详解

    本节讨论Python下函数型参的预设值问题. Python在设计函数时,可以给型参预设缺省值,当用户调用函数时可以不输入实参.如果用户不想使用缺省预设值则需要给型参一一赋值,可以给某些型参赋值或不按型 ...

  9. Swift 3.0 字符串、数组、字典的使用

    1.字符串 string func stringTest() -> Void { // 字符串 let str1 = "yiyi" let str2 = "2222 ...

  10. [ios2]ios系统中各种设置项的url链接

    在代码中调用如下代码:(ps: ios 5.0 以后不可用)NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"];[[UIAppli ...