Python数据类型 -- 答疑

答疑课之二:再议数据结构与数据类型

1.list,dict,tuple之它们其实是好基友
1.1 没有最优秀的数据结构,只有最适用的
1.2 了解每个结构的特点才能活学活用
1.3 它们相互转换如此简单


2.“推倒式”(列表推导)与再议

3.排序

3.1 sorted
3.2 list之sort方法
3.2.1 key最好用
3.2.2 cmp是什么(a>b) - (a<b)
3.3 多级排序咋个办

3.4 字典如何去排序



4.字符串模板应用

4.1 回忆一下,字符串模板有哪几种方式
4.2 典型应用1:html模板
4.3 针对性比强大更为重要



1、python的基本迭代
#string
a = 'abcdefg'
for i in a:
print i

#list
b = [1,2,3,'22','dd']
for s in b:
    print s
    
#dict
c = {"a":'aa','b':"bb"}
for cc in c.values():
    print cc # 'a','b'
    
for aa,bb in c.items():
    print aa,bb

#tuple
d = (1,2,3,'a')
for dd in d:
    print dd

2、字典如何排序
a = {'a':'aaa','c':'ccc','b':'bbb'}
for x,y in a.items():
    print x,y
    
#先把字典的键做一个排序
key_list = a.keys()
key_list.sort()

#类似于PHP的数组
for x in key_list:
    print x,a[x]

'''
3、根据字典的值取得字典的键
一个值可能对应多个键,
a = {'a':'haha','b':'sss','c':'haha'}
'''
a = {'a':'haha','b':'sss','c':'haha'}
search_value = 'haha'
key_list = []
for x,y in a.items():
    if y == search_value:
        key_list.append(x)
        
print key_list


4、sorted()排序
a = 'deCvas3afdAdfFF112'
#去掉字符串中的数字
a = ''.join([x for x in a if not x.isdigit()])

print sorted(a)
#['A', 'C', 'F', 'F', 'a', 'a', 'd', 'd', 'd', 'e', 'f', 'f', 's', 'v']

print sorted(a,reverse=True)
#['v', 's', 'f', 'f', 'e', 'd', 'd', 'd', 'a', 'a', 'F', 'F', 'C', 'A']

import string
print sorted(a,key=string.upper)
#key参数的原理,就是用string.upper执行a列表参数中的每个参数,类似于回调函数。
#['a', 'a', 'A', 'C', 'd', 'd', 'd', 'e', 'f', 'f', 'F', 'F', 's', 'v']

#5、maketrans和translate
import string
a = 'assdfafd2123saf'
#替换规则是一一对应的,a==@ , s==!
g = string.maketrans('as','@!')
print a.translate(g,'2') #第二个参数是删除,逐字删除的
#@!!df@fd13!@f
#他和a.replace的区别是,replace是整体替换是替换as的

#6、with 新的语句。
g = open('a.txt','w')
g.write('haha\nssss')
g.close()

with open('a.txt','a') as g:
    g.write('aaaa')

#两者的区别在于一个close,with块结束后,直接就关闭了,不用在close

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值