第十四课语句及数据结构应用

Posted 慧命

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十四课语句及数据结构应用相关的知识,希望对你有一定的参考价值。

一、最基本的迭代 

# 字符串 
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 打开文件后写入数据后无需关闭操作, 非常有用. 

 

以上是关于第十四课语句及数据结构应用的主要内容,如果未能解决你的问题,请参考以下文章

python第十四课--排序及自定义函数之案例一:选择排序

python第十四课--排序及自定义函数之案例二:冒泡排序

第十四课 组合查询

第十四课 dfdu命令磁盘分区及扩展学习

Ng第十四课:降维(Dimensionality Reduction)

第十四课 线性表的本质和操作