目录
字符串str
与C语言类似,使用%,进行str格式化,Python中可以进行如下操作
print('今天%s也更喜欢%s呢' % ('兔兔', '虎虎'))
常见的占位符如下
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
还可以如下使用,
print('hi, {0} is {1:.2f}%'.format('lover', 1.222))
其中% 仅代表百分号,format内参数依次替代占位符。
还有f-string方法,是新的格式化字符串语法。f-string格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,实例如下图
name = 'rabbit'
baby = 'tiger'
s = f'{name} likes {baby} more than yestaday.'.capitalize() #capitalize()将字符串第一个字母大写
print(s)
num = 1
print(f'{num + 2}')
使用此方法的好处是不用在意替换数据的格式问题。
列表list
列表list可以实现增添、删除、修改、访问等功能。在Python中使用[]创建list。
先创建一个list,列表元素为其在列表中位置。
ele = [1,2,3,4,5]
print(ele)
ele = [1,2,3,4,5]
print(ele[0:4])
在Python中,[]是左闭右开原则。
根据索引访问list中元素
print(ele[0])
print(ele[1])
list索引从0开始。
如果访问最后一个元素,可采用两种方法
print(ele[len(ele)-1])
print(ele[-1])
向list中增加元素
ele.append(10)
print(ele)
append自动在list末尾增添参数,如果要想在制定位置增添元素,可使用insert
ele.insert(2, 10)
print(ele)
使用pop对列表删除
ele.pop()
print(ele)
ele.pop(0)
print(ele)
pop括号内无参数默认删除list末尾元素,有参数则删除对应索引元素。
使用del删除列表元素
ele = [1,2,3,4,5]
del ele[0]
print('删除列表第一个元素', ele)
修改list中元素,直接按索引修改即可
ele[3]=10
print(ele)
以上是list的一维形式,可以在list中再使用list以达到二维形式。
对二维的索引如下
L = [[1,2,3],[4,5,6],[7,8,9]]
print(L[0][0],L[1][1],L[2][2])
元组tuple
元组tuple与list不同,它一旦创建就不能再修改
ele = (1,2,3,4)
print(type(ele))
print(ele)
但是我们也可使用+连接符来创建新的元组,以实现向原元组增加元素的目的
ele1 = ('US', 'UK')
ele2 = (0, 1)
ele = ele1 + ele2
print(ele)
需要注意的是,但tuple中只有一个元素时,需增加逗号,否则数据类型不再是元组。
ele1 = (1)
ele2 = ('rabbit')
print(type(ele1), type(ele2))
tuple中的元素是不可删除的,但可以使用del来消灭整个tuple
ele1 = ('US', 'UK')
del ele1
print(ele)
删除之后程序会报错,程序中没有该元组。
字典dict
在Python中,dict使用键-值(key-value)存储。如下创建dict
d = {'math' : 150, 'chinese' : 110, 'physics' : 90}
d = dict(math = 100, chinese = 110, physics = 90)
d = dict([('math', 100), ('chinese', 110), ('physics', 90)])
使用dict,查找和插入速度极快,但是需要占用大量内存。
dict中的key必须是不可变对象,例如tuple,但list是可变的,故不可作为value。
k = (1,)
d = {'math' : 150, 'chinese' : 110, 'physics' : 90, k : 10}
value = d.get(k, '无')
print(value)
k = [1, 2]
d = {'math' : 150, 'chinese' : 110, 'physics' : 90, k : 10}
value = d.get(k, '无')
print(value)
对dict的访问可采用如下形式
print(d.get('physics'))
print(d['math'])
但是如果dict中不存在要找的key,便会报错,可采用如下形式判断dict中是否存在所需key
print('math' in d)
若存在,则返回True,不存在返回False。
为避免程序报错,可采用如下形式,即使不存在,程序也可继续执行
d = {'math' : 150, 'chinese' : 110, 'physics' : 90}
value = d.get('matdh', '无')
print(value)
若存在,则返回value,不存在,则返回自己制定的值,未指定默认返回None。
删除dict中某个键,可使用pop
k = (1,)
d = {'math' : 150, 'chinese' : 110, 'physics' : 90, k : 10}
d.pop(k)
value = d.get(k, '无')
print(value)
集合set
和dict类似,存储key,里面没有重复元素。用{}创建set类型
s3 = {10, 51, 20}
print(type(s3))
内置函数set(),可用于除重
s = set([1,2,3,4,4])
print(s)
set会自动把输入按默认顺序排序
s = set([1,5,3,4,4,2])
print(s)
使用add添加元素
s = set([1,5,3,4,4,2])
s.add(6)
print(s)
使用remove删除元素
s = set([1,5,3,4,4,2,10])
print(s)
s.remove(10)
print(s)
还可用作进行数学意义上的交集、并集操作
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
a = s1 & s2 #求交集
b = s1 | s2 #求并集
print(a, b)
条件判断
if 判断:
输出
elif 判断:
输出
else:
输出
需要注意的是,在if判断中,如果遇到某个判断结果为True,则不再执行后面的判断语句,结束本次条件判断。
a = 10
if a>11:
print(1)
elif a>2:
print(2)
elif a>3:
print(3)
else:
print(4)
条件只输出了2,并没有输出3。
循环
for循环,把每个变量带入x,然后执行输出。
for x in ...:
输出
while循环,判断为真值时,一直输出。
while 判断:
输出
在循环中,使用break提前结束循环。
sum = 0
for x in range(101):
sum = sum + x
if x>10:
break
print(sum)
执行从0加到100,但因为条件判断在x大于10时跳出循环,所以加到11时循环结束。
在循环中,使用continue跳过本次循环,执行下次循环。
for x in range(101):
if x % 2 ==0:
continue
print(x)
上述代码将打印从0至100的奇数。
当程序是死循环或想结束程序时,可使用Ctrl+C退出程序。
可变对象与不可变对象
str是不可变对象,list是可变对象,所以在改变值时有所不同
list1 = [1, 2, 'aa']
print(list1)
list1[0] =3
print(list1)
改变list中元素时,可直接更改,但如果对str使用,则会报错
str1 = '1, 2, aa'
print(str1)
str[0] =3
所以如果要想对str进行更改,可以使用replace
str1 = '1, 2, aa'
print(str1)
str1 = str1.replace('1', '3')
print(str1)
遇事不决,百度解决