pythonic
判断
c = a if a>b else b //如果a>b返回a,否则返回b
置换变量
a,b=b,a
逗号的妙用
>>> for i in range(0,5):
... print i,
...
0 1 2 3 4
很明显 print语句默认的会在后面加上换行,加了逗号之后换行就变成了空格。
迭代数组
arry = [1,2,3,4]
for i, j in enumerate(arry):
print i, j #i是下标,j是对应元素
>>>
0 1
1 2
2 3
3 4
字符拼接
chart_demo = u'凡尘皆美,念念不忘'
convert = '_'.join(chart_demo)
>>> print convert
>>> 凡_尘_皆_美_,_念_念_不_忘
列 表 生 成 式
chart_demo = u'凡尘皆美,念念不忘'
result = [i for i in chart_demo if i == u'念']
>>> print result
>>> ['念', '念']
布 尔 判 断
a = u'凡'
b = [u'凡']
c = {'fan': u'凡'}
if a and b and c:
print '凡尘皆美'
>>> 凡尘皆美
zip 建 字 典
keys = ['a', 'b', 'c', 'd']
values = [u'凡', u'尘', u'皆', u'美']
dict_result = dict(zip(keys, values))
>>> print dict_result
>>> {'a': '凡', 'b': '尘', 'c': '皆', 'd': '美'}
三 目 运 算 符
chart_demo = u'凡尘皆美'
temp = 'beautiful' if len(chart_demo) > 3 else 'ugly'
>>> print temp
>>> beautiful
字 典 计 数
chart_demo = u'凡尘皆美,念念不忘'
No.1:
count = {}
for i in chart_demo:
count[i] = count.get(i, 0) + 1
>>> print count
>>> {'凡': 1, '尘': 1, '皆': 1, '美': 1, ',': 1, '念': 2, '不': 1, '忘': 1}
No.2:
from collections import Counter
c = Counter(u'凡尘皆美,念念不忘')
>>> print c.most_common()
>>> [('念', 2), ('凡', 1), ('尘', 1), ('皆', 1), ('美', 1), (',', 1), ('不', 1), ('忘', 1)]
list 反 向 遍 历
arry = [u'凡', u'尘', u'皆', u'美']
No.1:
for i in reversed(arry):
print i
NO.2:
for i in arry[::-1]:
print i
>>>
美
皆
尘
凡
for...else... 语 法