118. Pascal's Triangle
Easy

Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.


In Pascal's triangle, each number is the sum of the two numbers directly above it.

Example:

Input: 5
Output:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

BONUS:

1.python用少量的数据类型实现了很多的功效,主要是:[列表] (元组){字典}

0x02. 列表(List)

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。

操作实例:  

1
2
3
4
5
6
7
8
9
list =  ['apple''jack'7982.2236]
otherlist = [123'xiaohong']
 
print(list)                             #输出完整列表
print(list[0])                          #输出列表第一个元素
print(list[1:3])                        #输出列表第二个至第三个元素
print(list[2:])                         #输出列表第三个开始至末尾的所有元素
print(otherlist * 2)                    #输出列表两次
print(list + otherlist)                 #输出拼接列表

 

0x03. 元祖(Tuple)

元组是另一个数据类型,类似于List(列表)。

元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

操作实例与列表相似

0x04. 字典(Dictionary)

字典(dictionary)是除列表以外Python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

操作实例:

1
2
3
4
5
6
7
8
9
10
dict = {}
dict['one'= 'This is one'
dict[2= 'This is two'
tinydict = {'name':'john','code':5762,'dept':'sales'}
 
print(dict['one'])                          #输出键为'one'的值
print(dict[2])                              #输出键为2的值
print(tinydict)                             #输出完整的字典
print(tinydict.keys())                      #输出所有键
print(tinydict.values())                    #输出所有值

2、lambda表达式(不知道跳转表有啥用)

常用来编写跳转表(jump table),就是行为的列表或字典。例如:

 

L = [(lambda x: x**2),  

    (lambda x: x**3),  

    (lambda x: x**4)]  

print L[0](2),L[1](2),L[2](2)  

  

D = {'f1':(lambda: 2+3),  

    'f2':(lambda: 2*3),  

    'f3':(lambda: 2**3)}  

print D['f1'](),D['f2'](),D['f3']() 

 

结果:

4 8 16  

5 6 8

0x02. 列表(List)

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。

操作实例:  

1
2
3
4
5
6
7
8
9
list =  ['apple''jack'7982.2236]
otherlist = [123'xiaohong']
 
print(list)                             #输出完整列表
print(list[0])                          #输出列表第一个元素
print(list[1:3])                        #输出列表第二个至第三个元素
print(list[2:])                         #输出列表第三个开始至末尾的所有元素
print(otherlist * 2)                    #输出列表两次
print(list + otherlist)                 #输出拼接列表

 

0x03. 元祖(Tuple)

元组是另一个数据类型,类似于List(列表)。

元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

操作实例与列表相似

0x04. 字典(Dictionary)

字典(dictionary)是除列表以外Python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

操作实例:

1
2
3
4
5
6
7
8
9
10
dict = {}
dict['one'= 'This is one'
dict[2= 'This is two'
tinydict = {'name':'john','code':5762,'dept':'sales'}
 
print(dict['one'])                          #输出键为'one'的值
print(dict[2])                              #输出键为2的值
print(tinydict)                             #输出完整的字典
print(tinydict.keys())                      #输出所有键
print(tinydict.values())                    #输出所有值
02-13 01:49