python入门学习心得 22.1.17

第四章 操作列表

1.循环

注意缩进 巧妙使用单复数形式,便于理解

for语句结尾不要忘记加冒号“:”!!!

magicians=['alice','david','carolina']
for magician in magicians:  #冒号勿忘
    print(magician)

2.创建数值列表

(1).生成数 range()

eg: range(1,5) 生成1~4

原因:差一行为 记忆方法:相当于左闭右开区间?

也可以只指定一个参数,默认从0开始 eg:range(6) 生成0~5

for value in range(1,5):
    print(value)                #只打印1~4
for value in range(6):
    print(value)                #默认从0开始打印

(2).使用range()函数来生成数字列表

①使用range和list

用list将range生成的数转换为列表

在使用range时,可指定步长 eg:even_number = list(range(2,11,2))

注意:使用list()时,无需先创建空列表

numbers=list(range(1,6))
print(numbers)              #结果为[1,2,3,4,5]
even_numbers=list(range(2,11,2))     #指定了步长
print(even_numbers)         #结果为[2,4,6,8,10]

list可将字符串,元组,集合,字典或其他可迭代序列转换为列表

若对象为字典,则仅将键转换。

②仅使用range

此时需先创建一个空列表,再通过循环添加元素

#eg:打印1-10的平方
squares=[]          #先创建空列表
for value in range(1,11):
    squares.append(value**2)    #不使用临时变量,直接计算
print(squares)

(3).简单数字计算

求最值与求和

print(min(squares),max(squares),sum(squares))
numbers=list(range(1,1000001))
print(sum(numbers))         #求1~1000000的和

(4).列表解析

学习其形式,会看、会写 注意:这里的for语句末尾没有冒号

squares=[value**2 for value in range(1,11)]
print(squares)

3.使用列表的一部分

(1).切片

形式如下,同样为左闭右开区间,可省略首或末

可在第三位指定步长,默认为1,若为-1则表示倒着取

s='hello world'
​
print(s[3:7]) #lo w【包含下标3,不含下标7】
print(s[1:]) #ello world【从下标1开始,到结尾】
print(s[:4]) #hell【从开始,到下标4的前一个,不含下标4】
print(s[-4:-1]) #orl【从倒数第4个,到倒数第1个(不含倒数第1个)】
print(s[-5:]) #world【从倒数第5个,到结尾】
print(s[:-8]) #hel【从头开始,到倒数第8个(不含倒数第8个)】
​
print(s[6:10:2]) #wr【步长为2,不含下标10】
print(s[10:6:-1]) #dlro【步长为负数,倒着取,不含下标6】
print(s[-1:-5:-1]) #dlro【倒着取,从倒数第1个,到倒数第5个(不含倒数第5个)】
print(s[-9::-1]) #leh【倒着取,从倒数第9个,到开始】
print(s[:-5:-1]) #dlro【倒着取,从结尾,到倒数第5个(不含倒数第5个)】

(2).遍历切片

在原有的for循环基础上增加切片形式

for magician in magicians[1:4]:
    print(magician.title())

(3).复制列表

可以通过使用包含整个列表的切片 [ : ],将原列表的副本赋给新列表

注意:不可以直接将原列表直接赋给新列表,这会导致两个列表相互关联,一改皆改

有点类似于C++中的“引用传递”,会一改皆改

new_magicians=magicians[:]      #必须使用“[:]”
print(new_magicians)

4.元组

定义:不可变的列表(适用于在整个生命周期内不变的一组值)

元组为圆括号,列表为方括号,元组的遍历操作同列表

若尝试修改元组的元素,会报错

但是可以给存储元组的变量赋值,即重新定义一个元组,把原来的覆盖

第五章 if语句

1.条件测试

检查是否相等时忽略大小写

若要检查多个条件,可用and和or(适当加圆括号以改善可读性)

布尔表达式:即条件测试 eg:game_active = True

检查特定值是否包含在列表中:可用 in 和 not in

for new_user in new_users:
    if new_user in current_users:
        print(f"{new_user} error")
    else:
        print(f"{new_user} right")

2.if语句的语法结构

if - elif - else 适用于只执行一个代码块的情况

一系列独立if语句 适用于要执行多个代码块的情况

注意:if,elif,else语句后面不要忘记加冒号

3.使用if语句处理列表

①检查特殊元素

if (a == 某个值) :

②确定列表不是空的

if后直接加列表名

cars=[]
if cars:                    #if后直接跟列表名,若列表非空则为True,为空则为False
    for car in cars:
        print(car)
else:
    print('empty')

③使用多个列表

循环中嵌套if语句

第六章 字典

1.字典的概念与基本操作

字典是一系列键值对

访问值,添加键值对,修改值,创建空字典(用户提供数据或能自动生成大量键值对)

删除键值对:del 字典名[键名]

由类似对象组成的字典:常用的存储格式如下

rivers={'nile':'egypt',
        'yangtze':'china',
        'amazon':'brazil',      #在最后一个键值后面也加上逗号,以便后续添加键值
        }

使用方法get()来访问值:

.get(键,不存在时的返回值)

若没有指定第二个参数且该键不存在,则返回None

print(alien_0.get('color','No'))    #若无键则返回指定信息

今日随手记

注意True的T一定要大写,否则会报错 eg:reverse=True

ctrl+C        停止输出或关闭输出窗口

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值