(数据科学学习手札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] 偶数
复制代码

 

作者:Feffery

出处:https://www.cnblogs.com/feffery/p/8536882.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   费弗里  阅读(599)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题