廖雪峰的python笔记( 三)--入门知识(三)

1.list与tuple:

1).list--列表:

  • list是一种有序的集合,可以随时添加和删除其中的元素;list里面的元素的数据类型也可以不同,也可以是另一个list:看成是一个二维数组
  • len()函数可以获得list元素的个数,
  • 用索引来访问list中每一个位置的元素,记得索引是从0开始的,

记得最后一个元素的索引是len(classmates) - 1,如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素,以此类推,倒数第二个为-2...

  • list.append():表示为原有list添加元素至末尾,
  • list.insert(位置,‘元素’):表示插入至指定位置
  • list.pop():表示删除末尾元素;list.pop(位置):表示删除指定位置元素
  • 如果是将指定位置替换为别的元素,也可以直接赋值:list[i]='A'
  • 如果一个list中一个元素也没有,就是一个空的list,它的长度为0。

2).tuple--有序列表--元组:

  • tuple不可变,所以代码更安全--如果可能,能用tuple代替list就尽量用tuple。
  • tuple和list非常类似,但是tuple一旦初始化就不能修改
  • 没有append(),insert()这样的方法,但获取元素的方法是一样的,只是不能赋值成另外的元素
  • tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
  • 如果要定义一个空的tuple,可以写成();只有1个元素的tuple定义时必须加一个逗号
  • 可变的tuple:

tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

小结:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
L=[['Apple', 'Google', 'Microsoft'],
    ['Java', 'Python', 'Ruby', 'PHP'],
    ['Adam', 'Bart', 'Lisa']]
# 打印Apple:
print(L[0][0])
# 打印Python:
print(L[1][1])
# 打印Lisa:
print(L[2][2])

2.条件判断:

  • if、if...else、if...elif...(elif...)else

if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elifelse

小结:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

height = 1.75
weight = 80.5

bmi=weight/(height*height)
if bmi<=18.5:
    print('过轻')
elif bmi<=25:
    print('正常')
elif bmi<=28:
    print('过重')
elif bmi<=32:
    print('肥胖')
else:
    print('严重肥胖')

3.循环:

  • Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来;第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。
  • 如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数。
  • 在循环中,break语句可以提前退出循环;在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。

要特别注意,不要滥用breakcontinue语句。breakcontinue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到breakcontinue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉breakcontinue语句。

有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。

小结:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值