squares = [x**2 for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
[x for x in [4, -2 ,3 ] if x > 0]
[4, 3]
字典
# 几种声明方式
tel = {'jack': 4098, 'sape': 4139}
dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
dict(sape=4139, guido=4127, jack=4098)
# 操作
tel['guido'] = 4127 # assign
del tel['sape'] # delete
tel.keys() # Object.keys
'guido' in tel # hasOwnProperty
for遍历
for i in [1,3,6]: # 遍历的是值,而非下标
print(i)
for i, v in enumerate([2, 3, 6]): # 遍历下标(i)和值(v)
print (i, v)
knights = {'gallahad': 'the pure', 'robin': 'the brave'}
for k, v in knights.iteritems(): # 遍历键值
print k, v
引入一个形如 name 的参数时,它接收一个字典,该字典包含了所有未出现在形式参数列表中的关键字参数。这里可能还会组合使用一个形如 name (下一小节详细介绍)的形式参数,它接收一个元组(下一节中会详细介绍),包含了所有没有出现在形式参数列表中的参数值。( name 必须在 name 之前出现)例如,我们这样定义一个函数:
def cheeseshop(kind, *arguments, **keywords):
print "-- Do you have any", kind, "?"
print "-- I'm sorry, we're all out of", kind
for arg in arguments:
print arg
print "-" * 40
keys = sorted(keywords.keys())
for kw in keys:
print kw, ":", keywords[kw]
Javascript to Python
数组
注意:
a[i]
时, i的值小于i < len(a) and i >= -len(a)
map / filter / reduce
但是用的更多的可能是列表推导式(其具有filter和map的功效):
字典
for遍历
比较
以下比较均为
True
.arguments
引入一个形如 name 的参数时,它接收一个字典,该字典包含了所有未出现在形式参数列表中的关键字参数。这里可能还会组合使用一个形如 name (下一小节详细介绍)的形式参数,它接收一个元组(下一节中会详细介绍),包含了所有没有出现在形式参数列表中的参数值。( name 必须在 name 之前出现)例如,我们这样定义一个函数:
Function.prototype.apply
查找对象或模块下的属性及方法