day2-元组、字典、文件操作
学习内容:
1. 元组操作
2. 字典操作
3. 文件操作
4. 深浅copy
1. 元组操作:
元组和列表非常相似,只不过元组不能在原处修改(它是不可变的),并且通常写成圆括号中的一系列项。
# 元组定义(存取方式同列表), 元组只有2个方法:index 和 count
names = ("wills","oscar","tom","jerry")
2. 字典操作:
# 字典定义
employees = {
"s001":"wills",
"s002":"jerry",
"s003":"tom"
}
print(employees) # 增加Key
employees["s004"] = "felicity"
print(employees) # 修改值
employees["s004"] = "oliver"
print(employees) # 查找
if "s001" in employees:
print(employees.get("s001")) print(employees.get("s001")) print(employees["s001"]) # 删除
del employees["s002"]
employees.pop("s002")
employees.popitem() # 随机删除 # 打印key
print(employees.keys()) # 打印values
print(employees.values()) # 打印items,包含k,v
print(employees.items()) # 字典嵌套
names = {
"wills":{"sex":"female","job":"devOps","hobby":"running"},
"oscar":{"sex":"male","job":"backenddev","hobby":"smoking"},
"tom":{"sec":"male","job":"dev","hobby":"travel"}
}
names["oscar"]["hobby"] = "no smoking"
print(names) # 字典循环遍历
for k,v in employees.items():
print(k,v) for key in employees:
print(key,employees[key]) # 合并(更新了"s001",追加了"s007"
employees2 = {
"s001":"arrows",
"s007":"chenergou"
} employees.update(employees2)
print(employees)
3. 文件操作
文件操作的流程:
1. 打开文件,得到文件名柄并赋值给一个变量,
2. 通过句柄对文件进行操作
3. 文件关闭
文件的打开模式:
1. r, 只读模式(默认)
2. w, 只写模式(不可读,不存在则创建,存在则删除内容)
3. a, 追加模式(可读,不存在则创建,存在则只追加内容)
"+" 表示可以同时读写某个文件
1. r+, (可读写文件,可读可写可追加)
2. w+, (写读)
3. a+, (同a)
"U"表示在读取时,可以将\r \n \r\n自动转换成\n (与r 或 r+模式同时使用)
"b"表示处理二进制文件(可以与r w a 同时使用)
# 以写模式打开文件
myfile = open("new.txt","w") # 写一行文本
myfile.write("hello world!\n")
myfile.write("second line\n")
myfile.write("thrid line\n")
# 关闭文件
myfile.close() # 以只读模式打开文件
myfile = open("new.txt") # 一次读取一行
print(myfile.readline()) # 一次读取所有行
print(myfile.readlines())
文件修改的两种方式:
1. 一次将文件所有行读入内存变量,然后修改,再写入文件。(缺点是浪费太多内存,不建议)。
2. 一行一行的读取文件,只修改需要修改的行。
# 一行一行的读取文件内容,将thrid改为three
myfile = open("new.txt")
myfile2 = open("new2.txt","w")
for line in myfile:
if "thrid" in line:
line = line.replace("thrid","three")
myfile2.write(line)
myfile.close()
myfile2.close()
4. 深浅copy
import copy
# 数字copy,
a = 1
b = a # b只是copy了a的值,所以个修改a的值不会影响b的值。
a =2
print("a= %d , b= %d" %(a,b))
print("#----------------------------------------------") # 浅copy: 对于一维列表,copy的是值;对于二维列表,copy的是引用
names = ["stark","spider",["captain1","captain2","captain3"],"flush","runner","vampire"]
names2 = copy.copy(names) # 第一种浅COPY的方式
# names2 = names[:] # 第二种浅COPY的方式
# names2 = list(names) # 第三种浅COPY的方式
names[1] = "Wills.Spider"
names[2][0] = "Captain"
print("浅COPY:")
print("names:",names)
print("names2:",names2)
print("#----------------------------------------------")
# 深copy: 对于一维列表,copy的是值;对于二维列表,copy的也是值。 names = ["stark","spider",["captain1","captain2","captain3"],"flush","runner","vampire"]
names2 = copy.deepcopy(names)
names[1] = "Wills.Spider"
names[2][0] = "Captain"
print("浅深COPY:")
print("names:",names)
print("names2:",names2)
print("#----------------------------------------------") '''
p1和p2是夫妻,2人共有100万存款,当p1取走20万时,p2去查询时,会发现余额还有80万
'''
print("浅COPY的实际应用")
person = ["name",["saving",1000000]]
p1 = person[:]
p2 = person[:]
p1[0] = "Romeo"
p2[0] = "Juliet"
print(p1)
print(p2)
print("p2取款20万")
p2[1][1] = ""
print(p1)
print(p2)
day2-元组、字典、文件操作的更多相关文章
- Python 自学基础(一)——元组 字典 文件操作
格式化输出 name = input("请输入你的名字:") age = input("请输入你的年龄:") msg = ''' -------------in ...
- python基础之元组、文件操作、编码、函数、变量
1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...
- python基础--字符串操作、列表、元组、文件操作
一.变量及条件判断 1.字符串.布尔类型.float.int类型,None都是不可变变量 2.字符串是不可变变量,不可变变量就是指定义之后不能修改它的值 3.count +=1和count=count ...
- python 深浅拷贝 元组 字典 集合操作
深浅拷贝 :值拷贝 :ls = [,,] res = ls 则print(res)就是[,,] 浅拷贝 :ls.copy() 深拷贝:ls3 = deepcopy(ls) # 新开辟列表空间,ls列表 ...
- python字符串 列表 元组 字典相关操作函数总结
1.字符串操作函数 find 在字符串中查找子串,找到首次出现的位置,返回下标,找不到返回-1 rfind 从右边查找 join 连接字符串数组 replace 用指定内容替换指定内容,可以指定次数 ...
- python基础:python循环、三元运算、字典、文件操作
目录: python循环 三元运算 字符串 字典 文件操作基础 一.python编程 在面向过程式编程语言的执行流程中包含: 顺序执行 选择执行 循环执行 if是条件判断语句:if的执行流程属于选择执 ...
- python学习道路(day3note)(元组,字典 ,集合,字符编码,文件操作)
1.元组()元组跟列表一样,但是不能增删改,能查.元组又叫只读列表2个方法 一个 count 一个 index2.字典{}字典是通过key来寻找value因为这里功能比较多,所以写入了一个Code里面 ...
- python【第二篇】列表、元组、字典及文件操作
本节内容 列表 元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作:列表有序.可变.元素 ...
- Python基础(4)列表、元组、字符串、字典、集合、文件操作
列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 详见:http://www.cnblogs.com/alex3714/articles/5717620.html 1.列表和元 ...
- Python自动化开发 - 字符串, 列表, 元组, 字典和和文件操作
一.字符串 特性:字符串本身不可修改,除非字符串变量重新赋值.Python3中所有字符串都是Unicode字符串,支持中文. >>> name = "Jonathan&q ...
随机推荐
- hexo换了电脑,怎么办?
个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 背景: 今天公司的苹果电脑硬件升级,之前看过h ...
- class4_Listbox 列表部件
最终的运行效果图: #!/usr/bin/env python# -*- coding:utf-8 -*-# --------------------------------------------- ...
- 夏令营501-511NOIP训练18——高二学堂
传送门:QAQQAQ 题意:给你一个数$n$,把它拆分成至多$k$个正整数,使得这些数的和等于$n$且每一个正整数的个数不能超过$4$ 拆分的顺序是无序的,但取出每一个数方案是不同的(例如我要拆$1$ ...
- springDataJpa的官方API
一 . Core concepts(核心概念) 1.springdata中的中心接口是——Repository.这个接口没有什么重要的功能(原句称没什么惊喜的一个接口).主要的作用就是标记和管理.其 ...
- 连接mysql并查询
1.将mysql-connector-java-5.1.7-bin.jar放入Jmeter安装目录的bin文件夹中 2.在顶层目录<测试计划>中加载驱动 3.添加JDBC Connecti ...
- MD5/SHA1/Hmac_SHA1
1.MD5 #import <CommonCrypto/CommonDigest.h> + (NSString *) md5:(NSString *) input { const char ...
- kcptun搭建
wget --no-check-certificate https://github.com/kuoruan/shell-scripts/raw/master/kcptun/kcptun.sh sha ...
- EntityFrameworkCore 根据实体类自动创建数据库
1.首先新建 Asp.Net Core WebApi 项目 2.添加一下引用 : 2.1 Pomelo.EntityFrameworkCore.MySql(我用的Mysql 根据自己情况引用就行) ...
- IdentityServer_0_参考资料
官方 项目地址:https://github.com/IdentityServer/IdentityServer4 官方Demo:https://github.com/IdentityServer/I ...
- vue+ElementUI——表格分页(前端实现方法)
1.使用ElementUI中的<el-table></el-table>和 <el-pagination></el-pagination>组件来实现 2 ...