一、最基本的迭代 
# 字符串 
a = 'asdfD4dfdDFSA34'
for i in a:
    print i 
# 列表
b = [1,2,3,4,5,6]
for i in b:
    print i 
# 元组
c = ('a','b','c','d')
for i in c:
    print i 
二、如何迭代字典
# 字典,在字典中键是唯一的
d = {'key1':'value1','key2':'value2','key3':'value3', 'key2':'value21'}
print d 
for i in d.keys():
    print i 
print d.keys()
print d.items()
for x, y in d.items():
    print x, y 
三、如何为字典排序 (对键进行排序)
d = {'key1':'value1','key2':'value2','key3':'value3', 'key2':'value21'}
key_list = d.keys()
key_list.sort()
for x in key_list:
    print x, d[x]
四、字典根据键值查找
'''
需求:根据字典的值得到字典的键
1. 字典索引的是键,而不是值 -> 迭代,穷举
2. 字典具有唯一键,但值不一定是唯一的
3. 一个直可能对应n(n>=1)个键 
'''
a = {'a':'haha', 'b':'xixi', 'c':'xiaxia', 'd':'haha', 'e':'haha'}
search_str = 'haha'
key_list = []
for x,y in a.items():
    if y == search_str:
        key_list.append(x)
print key_list
# 下节课用函数进行封装 
五、sorted排序方法再议
a = 'sFdk3ksTV4dsd'
print sorted(a)
r: ['3', '4', 'F', 'T', 'V', 'd', 'd', 'd', 'k', 'k', 's', 's', 's']
a = 'sFdk3ksTV4dsd'
b = ''.join([x for x in a if not x.isdigit()])
结果:'sFdkkDsTfVdstd'
import string
print sorted(b, key = string.upper)
a = 'sFdkkDsTfVdstd'
>>> sorted([string.upper(x) for x in a])
['D', 'D', 'D', 'D', 'F', 'F', 'K', 'K', 'S', 'S', 'S', 'T', 'T', 'V']
>>> sorted(a,key=string.upper)
['d', 'D', 'd', 'd', 'F', 'f', 'k', 'k', 's', 's', 's', 'T', 't', 'V']
'''
key = string.upper 可以理解为 用string.upper这个方法,去执行列表中的每个数据. 也就是说
'''
六、好玩的translate与maketrans
a = 'i am lilei'
a.replace('lilei','hanmeimei')
import string 
# 替换和被替换的必须是相同长度,否则会报错, 将1 翻译成 a, 将 2 翻译成 b, 将 3 翻译成 c 
s = string.maketrans('123','abc') 
a = '12323423233421222'
print a.translate(s)
结果 abcbc4bcbcc4babbb
分析:翻译表和replace 一个是逐个替换,还有一个是整块替换
替换之前可以先删除指定的字符  
print a.translate(s,'1')
结果:'bcbc4bcbcc4bbbb'
七、一个新的语句, with  
f = open('d:/ttt.txt','w')
f.write('i am lilei')
f.close()
with open('d:/ttt.txt','a') as g:
    g.write('\n xixixxxxi')
with 打开文件后写入数据后无需关闭操作, 非常有用.