python集合、文件处理、字符编码

1. 集合操作 : 去重

{1, 2, 3, 4, 5, 6, 7, 8, 9}

1 list1 = [1,2,3,4,5,5,6,7,8,9]
2 list1 = set(list1)
3 print(list1)

1.1

集合语法里有个intersection是求两个集合之间的交集

 1 list1 = [1,2,3,4,5,5,6,7,8,9]
 2 list1 = set(list1)
 3 print(list1)
 4
 5 list2 = set([0,1,2,3,44,44,55,555,666,7777])
 6 print(list1,list2)
 7
 8 list1.intersection(list2)#交集
 9 print(list1.intersection(list2))
10
11 结果是:{1, 2, 3}

1.2

集合语法里还有union并集的操作

1 list1.union(list2)
2 print(list1.union(list2))
3
4 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 7777, 555, 44, 55, 666}
5 结果讲两个集合中都打印出来了

1.3

集合中的差集

print(list1.difference(list2))#差集 意思是list1中有,但是list2中没有
{4, 5, 6, 7, 8, 9}

1.4

集合中的子集

1 #子集
2 print(list1.issubset(list2))#判断list1是不是list2的子集
3 False

1.5

集合的父集

1 print(list1.issuperset(list2))#判断list2是不是list1的父集
2 False

1.6

集合的对称差集

1 print(list1.symmetric_difference(list2))#反向差集
2
3 {0, 7777, 4, 5, 6, 7, 8, 9, 555, 44, 55, 666}#将两个集合中交集取反了

1.7若两个集合间没有交集

1 print(list1.isdisjoint(list2))#判断两个集合没有交集返回真

1.8

集合删除

1 print(list1.pop())#删除任意一个内容

1.9

discard

1 list1.discard(10)#删除元素时若不存在则不报错
2 {2, 3, 4, 5, 6, 7, 8, 9}

2.文件操作

  1 You were the shadow to my light
  2 你是我生命之光中的一道暗影
  3 Did you feel us
  4 你能理解我们吗
  5 Another Star
  6 另一颗行星
  7 You fade away
  8 你逐渐消失
  9 Afraid our aim is out of sight
 10 恐惧我们的目标迷失在视野
 11 Wanna see us
 12 希望我们互相理解
 13 Alive
 14 活着
 15 Where are you now
 16 你身在何方?
 17 Where are you now
 18 你身在何方?
 19 Where are you now
 20 你身在何方?
 21 Was it all in my fantasy
 22 难道这一切都在我的幻想里
 23 Where are you now
 24 你身在何方?
 25 Were you only imaginary
 26 你只是虚幻的不存在吗?
 27 Where are you now
 28 你身在何方?
 29 Atlantis
 30 亚特兰蒂斯
 31 Under the sea
 32 在海底
 33 Under the sea
 34 在海底
 35 Where are you now
 36 你身在何方?
 37 Another dream
 38 另外的梦想
 39 The monster‘s running wild inside of me
 40 狂野的怪兽驰聘在我心深处
 41 I‘m faded
 42 我憔悴不堪
 43 I‘m faded
 44 我憔悴不堪
 45 So lost, I‘m faded
 46 所以迷失,憔悴不堪
 47 I‘m faded ~~~
 48 我憔悴不堪
 49 So lost, I‘m faded
 50 所以迷失,憔悴不堪
 51 These shallow waters never met
 52 那些从未见过的水中之影
 53 What i needed
 54 我需要的
 55 I‘m letting go
 56 只是顺其自然
 57 A deeper dive
 58 深沉海底
 59 Eternal silence of the sea
 60 无尽的沉默于海中
 61 I‘m breathing
 62 我的呼吸声
 63 Alive.
 64 活着
 65 Where are you now
 66 你身在何方?
 67 Where are you now
 68 你身在何方?
 69 Under the bright but faded lights
 70 明亮的灯光却已经黯然失色
 71 You set my heart on fire
 72 你点燃了我的心火
 73 Where are you now
 74 你身在何方?
 75 Where are you now
 76 你身在何方?
 77 ...
 78 ...
 79 Where are you now
 80 你身在何方?
 81 Atlantis
 82 亚特兰蒂斯
 83 Under the sea
 84 在海底
 85 Under the sea
 86 在海底
 87 Where are you now
 88 你身在何方?
 89 Another dream
 90 另外的梦想
 91 The monster‘s running wild inside of me
 92 狂野的怪兽驰聘在我心深处
 93 I‘m faded
 94 我憔悴不堪
 95 I‘m faded
 96 我憔悴不堪
 97 So lost, I‘m faded
 98 所以迷失,憔悴不堪
 99 I‘m faded ~~~
100 我憔悴不堪
101 So lost, I‘m faded

2.1.1 f = open(‘c‘)print(f.readlines())#默认读出所有行,且一行显示出来,每句后面有个\n2.1.2 f = open(‘c‘)

print(f.read())#默认读出全部行
2.1.3
print(f.readline())#默认读出第一行2.2  打开文件模式有以下几种
  • r,只读模式(默认)。
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】
  • w+,写读
  • a+,同a

2.3 下面看下文件的一些常见用法

2.3.1

f = open(‘c‘)
print(f.encoding)#打印出编码格式UTF-8
print(f.readable())#判断文件是否可读 返回 True 使用flush功能请看:

1 import sys
2 import time
3
4 for i in range(10):
5     sys.stdout.write("#")
6     sys.stdout.flush()
7     time.sleep(1)
8 #每间隔一秒就打印出一个#号

f.truncate(15)#默认不写数字的话,会将全部的清空

2.3.2
f = open(‘c‘,‘w+‘,encoding="utf-8")#r+即能读又能写  又名:读写#w+ 写读 先创建一个文件,再往里写#a+追加读f.write("wo 是llll\n")f.write("wo 是lei\n")f.write("wo 是Leileilei\n")f.write("wo 是leileilei\n")print(f.tell())#打印当前光标所在位置print(f.seek(10))#光标跳会到某一位置f.write("could i working python? tell me ? why not?")f.close()

2.3.3文件修改

1 #以下代码实现改动文件中某一字符
2 f = open(‘c‘,‘r‘,encoding="utf-8")#首先我们从一个文件中读,相当于源文件
3 f_new = open(‘d‘,‘w‘,encoding="utf-8")#创建一个新的文件,将替换后的文件写到该文件中
4 # Old_Str
5 for line in f:#循环读源文件
6     if "多肆意的快乐" in line:#判断字符"多肆意的快乐"在不再每行中
7         line = line.replace("多肆意的快乐","多痛苦的折磨")#将源文件中字符替换,
8     f_new.write(line)#写到新创建的文件中      执行后会产生一个新的文件,且是已经替换好的字符

3. 字符编码详解

需知:

1.在python2默认编码是ASCII, python3里默认是utf-8

2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-8就是unicode

3.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string

理解该图后再遇到字符编码就不用慌张了。

时间: 2024-10-05 07:33:22

python集合、文件处理、字符编码的相关文章

Python——day3_基础1_集合,文件操作,字符编码与转码

集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时

Gnu Linux下文件的字符编码及转换工具

/*********************************************************************  * Author  : Samson  * Date    : 07/03/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************

在Linux如何让更改文件的字符编码

问题:在我的 Linux 系统中有一个编码为 iso-8859-1 的字幕文件,其中部分字符无法正常显示,我想把文本改为 utf8 编码.在 Linux 中, 有没有一个好的工具来转换文本文件的字符编码? 正如我们所知道的那样,电脑只能够处理低级的二进制值,并不能直接处理字符.当一个文本文件被存储时,文件中的每一个字符都被映射成二进制值,实际存储在硬盘中的正是这些“二进制值”.之后当程序打开文本文件时,所有二进制值都被读入并映射回原始的可读字符.只有当所有需要访问这个文件的程序都能够“理解”它的

eclipse设置新建jsp文件默认字符编码为utf-8

在使用Eclipse开发中,编码默认是ISO-8859-1,不支持中文.这样我们每次新建文件都要手动修改编码,非常麻烦.其实我们可以设置文件默认编码,今后再新建文件时就不用修改编码了. 1.打开Eclipse,点击Window弹出下拉列表,选择Preference: 2.然后在弹出的Preference设置里,找到Web,并点击JSP Files,我们可以看到默认的jsp文件的字符编码是ISO-8859-1(ISO Latin-1) 在右边把Encoding设置为ISO 10646/Unicod

python学习列表字符串字典集合文件操作字符串编码与转换

一.列表 1 names = "ZhangYang GuYun XiangPeng XuLiangchen" 2 names = ["ZhangYang", "GuYun", "XiangPeng", "ChengRongHua","XuLiangchen"] 3 names.append("LeiHaiDong") #在列表最后追加一个元素 4 names.inse

python第三天:字符编码、文件操作、函数

作业问题回顾 表格化输出 主要考察字符串的expandtabs的方法,使用空格替换TAB. 百鸡百钱 百鸡百钱的主要是用进行多次判断,然后输出打印. 上课内容 字符编码 概念 编码是计算机用来将人类可读的字符存储成二进制信息而使用的一种格式.字符编码主要针对字符的编码. python中相关的方法 decode:解码,将其他格式的数据转化为unicode格式的数据.转化以后就是Bytes类型的数据.Bytes的数据汉字会转化成字节码,而ascii码会转化成b'meg'的形式.可以接参数,接的参数就

python开发基础:字符编码&文件操作

一,字符编码 1 以什么编码存的就要以什么编码取出 ps:内存固定使用unicode编码, 我们可以控制的编码是往硬盘存放或者基于网络传输选择编码 2 数据是最先产生于内存中,是unicode格式,要想传输需要转成bytes格式#unicode----->encode(utf-8)------>bytes拿到bytes,就可以往文件内存放或者基于网络传输#bytes------>decode(gbk)------->unicode 3 python3中字符串被识别成unicode

python 读写文件和设置文件的字符编码

一. python打开文件代码如下: f = open("d:\test.txt", "w") 说明:第一个参数是文件名称,包括路径:第二个参数是打开的模式mode ‘r’:只读(缺省.如果文件不存在,则抛出错误)‘w’:只写(如果文件不存在,则自动创建文件)‘a’:附加到文件末尾‘r+’:读写 如果需要以二进制方式打开文件,需要在mode后面加上字符”b”,比如”rb””wb”等 二.python读取文件内容f.read(size) 参数size表示读取的数量,可

Python基础编程之字符编码、数据类型、列表

目录: python简介 字符编码介绍 数据类型 一.Python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者. python的发展历史 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器. 1991年,第一个Pyt

Python-3 文件和字符编码

文件 打开文件模式 ''' "r"只读模式(默认). w,只写模式,不可读,不存在则创建:存在则删除内容 a,追加模式,可读,不存在则创建:存在则只追加内容 x, 写模式,当文件系统上不存在,才可以写.也就是不允许覆盖已存在的文件内容 "+"表示可以同时读写某个文件: r+,可读写文件.可读:可写:可追加 w+,写读 a+,同a "U"表示在读取时,可以将 \r \n \r\n自动转换成\n(与r或r+ 模式同使用): rU r+U "