学习内容:

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-元组、字典、文件操作的更多相关文章

  1. Python 自学基础(一)——元组 字典 文件操作

    格式化输出 name = input("请输入你的名字:") age = input("请输入你的年龄:") msg = ''' -------------in ...

  2. python基础之元组、文件操作、编码、函数、变量

    1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...

  3. python基础--字符串操作、列表、元组、文件操作

    一.变量及条件判断 1.字符串.布尔类型.float.int类型,None都是不可变变量 2.字符串是不可变变量,不可变变量就是指定义之后不能修改它的值 3.count +=1和count=count ...

  4. python 深浅拷贝 元组 字典 集合操作

    深浅拷贝 :值拷贝 :ls = [,,] res = ls 则print(res)就是[,,] 浅拷贝 :ls.copy() 深拷贝:ls3 = deepcopy(ls) # 新开辟列表空间,ls列表 ...

  5. python字符串 列表 元组 字典相关操作函数总结

    1.字符串操作函数 find 在字符串中查找子串,找到首次出现的位置,返回下标,找不到返回-1 rfind 从右边查找 join 连接字符串数组 replace 用指定内容替换指定内容,可以指定次数 ...

  6. python基础:python循环、三元运算、字典、文件操作

    目录: python循环 三元运算 字符串 字典 文件操作基础 一.python编程 在面向过程式编程语言的执行流程中包含: 顺序执行 选择执行 循环执行 if是条件判断语句:if的执行流程属于选择执 ...

  7. python学习道路(day3note)(元组,字典 ,集合,字符编码,文件操作)

    1.元组()元组跟列表一样,但是不能增删改,能查.元组又叫只读列表2个方法 一个 count 一个 index2.字典{}字典是通过key来寻找value因为这里功能比较多,所以写入了一个Code里面 ...

  8. python【第二篇】列表、元组、字典及文件操作

    本节内容 列表 元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作:列表有序.可变.元素 ...

  9. Python基础(4)列表、元组、字符串、字典、集合、文件操作

    列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 详见:http://www.cnblogs.com/alex3714/articles/5717620.html 1.列表和元 ...

  10. Python自动化开发 - 字符串, 列表, 元组, 字典和和文件操作

    一.字符串 特性:字符串本身不可修改,除非字符串变量重新赋值.Python3中所有字符串都是Unicode字符串,支持中文. >>> name  = "Jonathan&q ...

随机推荐

  1. 编译Solr4.72 源码没有成功

    最近需要用到solr,查询Hbase里面的数据,编译Solr的时候遇到了点问题: 下了solr的源码后需要用ant自己编译: 源码下载地址:https://svn.apache.org/repos/a ...

  2. 2019-8-16-调试时限制程序使用-CPU-核心数模拟低端设备

    title author date CreateTime categories 调试时限制程序使用 CPU 核心数模拟低端设备 lindexi 2019-08-16 16:11:32 +0800 20 ...

  3. C 删除字符串中某个指定的字符

    #include <stdio.h> char *del_char(char *str, char ch) { unsigned char i=0,j=0; while(str[i] != ...

  4. mac下xampp+vscode进行php程序调试

    最近折腾公司的官网,是 php 做的,搭建调试环境做个记录,我用的是 mac 机. 1.下载最新的xampp,我的版本是XAMPP for OS X 5.6.31: 2.找到 php.ini,/App ...

  5. 【模板篇】k短路 SDOI2010 魔法猪学院

    题目传送门 吐槽时间 题目分析 代码 题目の传送门 都成了一道模板题了OvO ============================================================= ...

  6. Elasticsearch.net一些开发笔记

    .net下开发es半年多了,留下些笔记 //https://www.elastic.co/guide/cn/elasticsearch/guide/current/combining-filters. ...

  7. sikuli+eclipse对于安卓app自动化测试的应用(第一次写博客,有些语言还不太专业,望海涵)

    Sikuli是什么? 下面是来自于官网的介绍:Sikuli is a visual technology to automate and test graphical user interfaces ...

  8. 数据库MySQL--常见函数

    例子文件:https://files.cnblogs.com/files/Vera-y/myemployees.zip 函数:将一组逻辑语句封装在函数体中,对外暴露函数名 调用:select 函数名( ...

  9. P1820 寻找AP数

    P1820 寻找AP数两个性质,分解质因数后,连续,且指数递减,dfs就完了 #include <iostream> #include <cstdio> #include &l ...

  10. 单行文本截断 text-overflow

    div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }