菜鸟学Python(16):一些奇技(持久更新中)
2008-06-06 13:01
197 查看
1.eval的使用.
偷师自ZP的代码:)
>>> a = {'q':2,'d':3}
>>> eval("a['q'" + "]")
2
>>>
非常有用的技巧,比如对象a有属性name,这时候外面想到得到a的name属性,于是传进来一个字符串'name',一般的做法是加一个判断:
if str == 'name':
return a.name
用这个就简单了.
直接
return eval('a.' + 'name')
2.无序字典的排序
>>> dict = {'aaa':11,'bb':2323,'cc':45}
>>> result = [(val, key) for key, val in dict.items()]
>>> result
[(45, 'cc'), (11, 'aaa'), (2323, 'bb')]
>>> result.sort(reverse=True)
>>> result
[(2323, 'bb'), (45, 'cc'), (11, 'aaa')]
>>>
按照逆序字典value值排序.
把无序的字典转换为有序的list再排序.
3.数字的填充
>>> a = 12
>>> str(a).zfill(4)
'0012'
>>>
挺有意思的.
4.
偷师自ZP的代码:)
>>> a = {'q':2,'d':3}
>>> eval("a['q'" + "]")
2
>>>
非常有用的技巧,比如对象a有属性name,这时候外面想到得到a的name属性,于是传进来一个字符串'name',一般的做法是加一个判断:
if str == 'name':
return a.name
用这个就简单了.
直接
return eval('a.' + 'name')
2.无序字典的排序
>>> dict = {'aaa':11,'bb':2323,'cc':45}
>>> result = [(val, key) for key, val in dict.items()]
>>> result
[(45, 'cc'), (11, 'aaa'), (2323, 'bb')]
>>> result.sort(reverse=True)
>>> result
[(2323, 'bb'), (45, 'cc'), (11, 'aaa')]
>>>
按照逆序字典value值排序.
把无序的字典转换为有序的list再排序.
3.数字的填充
>>> a = 12
>>> str(a).zfill(4)
'0012'
>>>
挺有意思的.
4.
## 再也不用写类的类声明 class NoClass(object): def __init__(self,**kw): self.__dict__.update(**kw)
相关文章推荐
- 关于Python35爬虫的一些个人想法(我是菜鸟)
- python中的一些面试题(持续更新中........)
- Python常用的一些操作(持续更新中......)
- python 一些有用的功能函数(持续更新)
- Python:Python中较使用的一些方法(持续更新)
- python基础教程_学习笔记16:标准库:一些最爱——random
- python的一些学习资料(持续更新中)
- 学习python中遇到的一些问题集合(不断更新)
- Python 一些函数记录(更新ing)
- python 字典 一些总结(持续更新)
- Python学习中遇到的一些坑(不定期更新)
- Python 快速排序 堆排序——Python实现一些算法持续更新
- 【Python】收集一些常见的错误,慢慢更新。
- Python的一些函数用法,学到后在此更新
- 菜鸟学习OpenCV(Python)碰到的一些小问题
- 学习python的一些资料(收集,随时更新)
- 菜鸟之--Python的一些使用
- Python菜鸟学习手册16----多进程
- 杂记_一些关于python代码风格汇总_不断更新
- 学习python的一些资料(收集,随时更新)