(数据科学学习手札02)Python与R在循环语句与条件语句上的异同
循环是任何一种编程语言的基本设置,是进行批量操作的基础,而条件语句是进行分支运算的基础,Python与R有着各自不同的循环语句与条件语句语法,也存在着一些相同的地方。
Python
1.for循环
'''通过for循环对列表进行遍历''' list1 = [i for i in range(10)] for i in range(10): print(list1[i]) 0 1 2 3 4 5 6 7 8 9 '''通过for循环对集合进行遍历''' set1 = set([i for i in range(10)]) for i in set1: print(i) 0 1 2 3 4 5 6 7 8 9 '''for循环在列表解析中的应用''' list = [str(i) for i in range(10)] print(list) ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
*for循环只能对可遍历的对象进行操作
2.while循环
i = 10 while(i>=0): print(i) i-=1 10 9 8 7 6 5 4 3 2 1 0
3.if-else
import time import numpy.random random.seed(int(time.clock())) now = random.randint(1,10,1) if now >= 5: print('big') else: print('small') big
4.列表解析中的if语句
'''利用条件列表解析生成指定范围内所有偶数
list = [i for i in range(10) if i%2 == 0] print(list) [0, 2, 4, 6, 8]
5.条件表达式(三元操作符)
x, y = 3, 5 smaller = x if x<y else y print(smaller) 3
6.np.where()
import numpy as np list = [i for i in range(10)] for i in range(10): np.where(list[i]%2 == 0,print('偶数'),print('奇数')) 偶数 奇数 偶数 奇数 偶数 奇数 偶数 奇数 偶数 奇数 偶数 奇数 偶数 奇数 偶数 奇数 偶数 奇数 偶数 奇数
R
1.for循环
> list = c() > for(i in 1:20){list = c(list,i)} > list [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
2.while
> i = 10 > while(i>0){print(i) + i = i-1} [1] 10 [1] 9 [1] 8 [1] 7 [1] 6 [1] 5 [1] 4 [1] 3 [1] 2 [1] 1
3.if-else
> i = 1:20 > for(k in i){if(k%%2 == 0){print(k)} + else{print('error')}} [1] "error" [1] 2 [1] "error" [1] 4 [1] "error" [1] 6 [1] "error" [1] 8 [1] "error" [1] 10 [1] "error" [1] 12 [1] "error" [1] 14 [1] "error" [1] 16 [1] "error" [1] 18 [1] "error" [1] 20
4.ifelse
> for(k in i){ifelse(k%%2 == 0,print('偶数',quote=FALSE),print('奇数',quote=FALSE))} [1] 奇数 [1] 偶数 [1] 奇数 [1] 偶数 [1] 奇数 [1] 偶数 [1] 奇数 [1] 偶数 [1] 奇数 [1] 偶数