Python自学

目录

字符串str

列表list

元组tuple

字典dict

Set 

条件判断

循环

可变对象与不可变对象


字符串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)

遇事不决,百度解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值