1.        集合

1.1      特性

集合是一个无序的,不重复的数据组合,主要作用如下:

  • 去重,把一个列表变成集合实现自动去重。
  • set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作。

1.2     常用操作:

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 中,但不同时出现在二者中) 

 

 

 

 

 

 

 

 

 

 

1.3      基本操作:

t.add('x')           

# 添加一项 

s.update([10,37,42]) 

# 在 s 中添加多项 

t.remove('H') 

# 删除一项

len(s)

#  s e t 的长度

x in s 

# 测试 x 是否是 s 的成员 

x not in s 

# 测试 x 是否不是 s 的成员 

s.issubset(t) 

s <= t 

# 测试是否 s 中的每一个元素都在 t 中 

s.issuperset(t) 

s >= t 

# 测试是否 t 中的每一个元素都在 s 中  

s.union(t) 

s | t 

# 返回一个新的 set 包含 s 和 t 中的每一个元素 

s.intersection(t) 

s & t 

# 返回一个新的 set 包含 s 和 t 中的公共元素 

s.difference(t) 

s - t 

# 返回一个新的 set 包含 s 中有但是 t 中没有的元素 

s.symmetric_difference(t) 

s ^ t 

# 返回一个新的 set 包含 s 和 t 中不重复的元素  

s.copy() 

# 返回 set “s”的一个浅复制

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.       文件操作

2.1     文件操作流程

       python自动华 (三)

示例文件:

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin
View Code

2.2     基本操作

f = open('file.txt') 

# 打开文件

first_line = f.readline()

 

print('first line:',first_line)

# 读一行

print('我是分隔线'.center(50,'-'))

 

data = f.read()

# 读取剩下的所有内容,文件大时不要用

print(data) 

# 打印文件

f.close() 

# 关闭文件

 

 

 

 

 

 

 

 

 

 

 

2.3    打开文件的模式

  • r,只读模式(默认)。

  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】

  • a,追加模式。【可读;不存在则创建;存在则只追加内容;】

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

    > r+,可读写文件。【可读;可写;可追加】

    > w+,写读

    > a+,同a

    "b" 表示处理二进制文件

    > rb

    > wb

    > ab

2.4     with语句

为了避免打开文件后忘记关闭,可以通过管理上下文,即:

1

2

3

with open('log','r') as f:

     

    ...

 

 

 

 

3.      字符编码与转码

3.1    字符编码方式

3.1.1  ASCII编码

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

3.1.2   Unicode编码

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,所有的字符和符号最少(可能更多)由 16 位来表示(2个字节),即:2 **16 = 65536,这里还有个问题:字节数增加后使用空间会直接翻倍!举例还说:同样是ABCD这些字符存储一篇相同的文章,使用ASCII码如果是1M的话,那么Unicode存储至少2M可能还会更多。

3.1.3   UTF-8编码

是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存... 通过这种可扩展的方式来存储。

 

在2.x版本的Python中,解释.py文件的时候,默认是给他一个编码的就是ASCII码,如果在2.x版本中不指定编码并且在.py文件中写了一个ASCII码中没有的字符就会显示乱码,不过这个问题在Python3中就不存在了,因为在Python3中默认就是Unicode编码

3.2     Python编码转化

3.2.1   Python3中的编码转换

#在Python3中默认就是unicode编码

#!/usr/bin/env python
#-*- coding:utf-8 -*-

name = '小岳岳'
#转为UTF-8编码
print(name.encode('UTF-8'))
#转为GBK编码
print(name.encode('GBK'))
#转为ASCII编码(报错为什么?因为ASCII码表中没有‘小岳岳’这个字符集~~)
print(name.encode('ASCII'))
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案