Python 核心编程笔记_Chapter_6_Note_2 字符串的内建函数zip_转义字符_字符串术语

来源:互联网 发布:分簇算法的应用 编辑:程序博客网 时间:2024/05/18 07:50

先前的学习里面没有学到,看一下
zip()函数在运算时,会以一个或多个序列做为参数,返回一个元组的列表。同时将这些序列中并排的元素配对。
例如,有两个列表:
a = [1,2,3]
b = [4,5,6]
使用zip()函数来可以把列表合并,并创建一个元组对的列表。
zip(a,b)
[(1, 4), (2, 5), (3, 6)]
在python 3.0中zip()是可迭代对象,使用时必须将其包含在一个list中,方便一次性显示出所有结果
list(zip(a,b))
[(1, 4), (2, 5), (3, 6)]
zip()参数可以接受任何类型的序列,同时也可以有两个以上的参数;当传入参数的长度不同时,zip能自动以最短序列长度为准进行截取,获得元组
>>> l1,l2,l3 = (1,2,3),(4,5,6),(7,8,9)
>>> zip(l1,l2,l3)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]


>>> str1 = 'abc'
>>> str2 = 'def123'
>>> zip(str1,str2)
[('a', 'd'), ('b', 'e'), ('c', 'f')]
我们可以看到,匹配时,zip按照最短的长度来匹配,多余的123,不进行匹配


zip()方法用在for循环中,就会支持并行迭代:
l1 = [2,3,4]
l2 = [4,5,6]
for (x,y) in zip(l1,l2):
    print (x,y,'--',x*y)
2 4 -- 8
3 5 -- 15
4 6 -- 24
----------------------------------------------------------------------------------------------------------------------------------------------------------

转义字符

描述

\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数yy代表的字符,例如:\o12代表换行
\xyy 十进制数yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出






----------------------------------------------------------------------------------------------------------------------------------------------------------
术语
Table 6.8 Unicode 术语
名词 意思
ASCII 美国标准信息交换码
BMP 基本多文种平面(第零平面)
BOM 字节顺序标记(标识字节顺序的字符)
CJK/CJKV 中文-日文-韩文(和越南语)的缩写
Code point 类似于ASCII 值,代表Unicode 字符的值,范围在range(1114112)或者说
0x000000 到0x10FFFF.
Octet 八位二进制数的位组
UCS 通用字符集
UCS2 UCS 的双字节编码方式(见UTF-16)
UCS4 UCS 的四字节编码方式.
UTF Unicode 或者UCS 的转换格式.
UTF-8 八位UTF 转换格式(无符号字节序列, 长度为一到四个字节)
UTF-16 16 位UTF 转换格式(无符号字节序列,通常是16 位长[两个字节],见UCS2)




什么是Unicode?
Unicode 是计算机可以支持这个星球上多种语言的秘密武器.在Unicode 之前,用的都是
ASCII,ASCII 码非常简单,每个英文字符都是以七位二进制数的方式存贮在计算机内,其范围
是32 到126.当用户在文件中键入一个大写字符A 时,计算机会把A 的ASCII 码值65
写入磁盘,然后当计算机读取该文件时,它会首先把65 转化成字符A 然后显示到屏幕上.
ASCII 编码的文件小巧易读。一个程序只需简单地把文件的每个字节读出来,把对应的数
值转换成字符显示出来就可以了.但是ASCII 字符只能表示95 个可打印字符.后来的软件厂商把
ASCII 码扩展到了8 位,这样一来它就可以多标识128 个字符,可是223 个字符对需要成千上万
的字符的非欧洲语系的语言来说仍然太少
Unicode 通过使用一个或多个字节来表示一个字符的方法突破了ASCII 的限制. 在这样机
制下, Unicode 可以表示超过90,000 个字符.
0 0