Python学习笔记 Day4

and和or

在Python中,and和or的用法有点奇怪,不想C++中的位运算和逻辑判断公用&和|。

and

倘若两侧都为真,则返回右侧的值,否则返回假

or

倘若两侧都为真,则返回左侧的值,否则返回假

三目运算符

在C++中有形如?:的三目运算符,然而在Python中,三目运算是使用if和else达成的,例如:

a if a>b else b

表达的意思为:若 \(a>b\) 则为 \(a\) ,否则则为 \(b\) ,意为取max

可以巧妙利用如:

a=int(input())
b=int(input())
print("a>b") if a>b else print("a<b") if a<b else print("a=b")

实现一个简单的判断大小的程序

List

概念

Python中的list基本上相当于一个强化版的C++中的数组。

下标

和数组类似,序列也是从0开始编号,到 \(len-1\) 之间存储有效信息。但不同于C++的是,Python中的List可以从 \(-len\)\(len-1\) 为下标进行访问,例如对一个长度为5的序列a来说,a[4]=a[4-len]=a[-1]

基本操作

切片

序列切片是一种简单的输出序列元素的方法,基本格式为list_name[ start : end : step ]

例如:

a=[1,2,3,4,5,6,7,8,9,0]
print(a[:5]) #输出0~4
print(a[:]) #输出整个序列
print(a[::2]) #以每三个输出一个

相加

相同类型的序列可以直接相加

a=[1,2,3]
b=[4,5,6]
c=a+b
print(c[:])

相乘

任意类型的序列List都可以通过 \(List \times n\) 得到一个重复 \(n\) 次的新序列,例如:

a=[1,2,3]
b=a*3
print(b[:])

in

和C++的find函数相似,Python中的in可以检查某个元素是否在序列中,返回True或False,例如:

a=[1,2,3]
print(1 in a)

此外,还有not in函数,作用显然

max & min

用于得到序列中最大和最小的元素

len

用于得到序列的长度

str

将序列转换为字符串

a=[1,2,3]
b=str(a)
print(b," ",type(b))

list

将元组转换为序列
例如:

a=(1,2,3) #元组和struct或者class有点像,但是不支持修改元素值
b=list(a)
print(b," ",type(b))
posted @ 2021-02-07 23:49  Fang_Hao  阅读(59)  评论(0)    收藏  举报