字符串 str 和 unicode
str 字节流
unicode 字符流 (中文,英文,等等) => 如何转换成计算机中的01代码呢?
出现了编码 ascii, iso88591, utf8(unicode压缩之后的), unicode(用四个字节编码一个字符), utf32, gb2312 等等
那么gbk如何转换成utf8呢?
gbk -> unicode -> utf8
解码,编码
unicode -> utf8 编码
gbk-> unicode 解码
解决编码问题:
import sys
print sys.stdin.encoding
print sys.stdout.encoding
x = raw_input(u‘请输入名字:‘.encode(sys.stdout.encoding))# 先对字符串‘请输入名字:‘进行unicode解码,再用sys.stdout.encoding方式进行编码
f = open(‘1.txt‘,‘w‘)
f.write(x.decode(sys.stdin.endcoding).encode(‘utf-8‘)) # 先对输入的字符以sys.stdin.endcoding方式解码,再用utf-8进行编码
f.close()
字典 dict
对key进行hash成一个数字, 当成数组的下标,时间复杂度是常数
key是不可变的, 数字,符串,元组是可以作为key的,列表是不能做key的 可以hash的就可以作为key
key in dict 判断字典中是否有key
常见操作:
for key, value in x.items():
print key , ‘=‘, value
print x.get(‘name ‘,‘不存在‘)
print x.setdefault(‘naem‘,‘20‘)
print x.keys(), x.values()
x.update({1:‘a‘,2:‘b‘,3:‘c‘}) #参数中的字典会更新x的值,没有则插入,有则覆盖
x.clear()
集合:
集合是无序的,不重复的,元素是不可变的,不支持索引和切片操作
可变集合 set
不可变集合frozenset
创建集合: 用工厂函数 set() 和 fronzenset() 入参一般是list
集合运算: | & - ^ |= < > s.isdisjoint(t)
并 交 差 对称差集 并 是否为子集 是否为超集 是否有交集
python 第一周(第三天) 我的python成长记 一个月搞定python数据挖掘!(04)
原文:http://www.cnblogs.com/yugengde/p/7237071.html