Python3学习笔记之-学习基础(第二篇)
文章目录
目录
一、list和tuple
1.list
list它是python中的一种数据类型--列表,它是一种有序的集合,可随时添加和删除其中的元素。
举个例子,如果你想把王者荣耀英雄们名字列出来,怎么搞,那就可以放在列表里:
king_name = ['李白','韩信','貂蝉','吕布','马克','后裔','成吉思汗']
king_name
结果:['李白','韩信','貂蝉','吕布','马克','后裔','成吉思汗']
这个变量king_name,就是一个list,用len()函数可以获得list元素的个数:
len(king_name)
7
现在来个新的知识点--索引,记住一点,索引就是从0开始的,比如:
李白 | 韩信 | 貂蝉 | 吕布 | 马克 | 后裔 | 成吉思汗 |
0 -7 | 1 -6 | 2 -5 | 3 -4 | 4 -3 | 5 -2 | 6 -1 |
理解这个了,就可以进行索引了,但是注意不要索引越界,明明到6你就不能写7,不然报IndexError错误:
king_name[0]
李白
king_name[-7]
李白
king_name[6]
成吉思汗
king_name[-1]
成吉思汗
插入
list是一个可变的有序表,所以,可以往list中追加元素到末尾:
king_name.append('李白')
king_name
['李白','韩信','貂蝉','吕布','马克','后裔','成吉思汗','李白']
也可以把元素插入到指定的位置,比如索引号为1
的位置:
king_name.append(1,'孙尚香')
king_name
['李白','孙尚香','韩信','貂蝉','吕布','马克','后裔','成吉思汗','李白']
删除
要删除list末尾的元素,用pop()
方法;
要删除指定位置的元素,用pop(i)
方法,其中i
是索引位置;
king_name.pop()
king_name.pop(1)
['李白','韩信','貂蝉','吕布','马克','后裔','成吉思汗']
替换
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置;
king_name[1] = '刘备'
['李白','刘备','貂蝉','吕布','马克','后裔','成吉思汗']
补充
list里面的元素的数据类型也可以不同,list元素也可以是另一个list,
L = ['Apple', 123, True]
s = ['python', 'java', ['asp', 'php'], 'scheme']
len(s)
4
2.tuple
还有一种有序列表叫元组:tuple,tuple和list非常类似,但是tuple一旦初始化就不能修改,记住元组就是用()括起来的列表。
king_name = ('李白','韩信','貂蝉','吕布','马克','后裔','成吉思汗')
king_name
结果:('李白','韩信','貂蝉','吕布','马克','后裔','成吉思汗')
现在这个元组king_name不能改变了,它没有append(),insert(),这样的方法;其他方法和list是一样的,可以使用king_name[0]、king_name[-1],但是不能赋值了。
这个意义在哪里呢,那就是安全。
在我们定义元2组的时候,记住遇到定义元组里面只有一个元素的的时候一定要加上个逗号,不然还以为你是小括号括起来的数字。
a=(1)#这不是元组
a=(1,)#这才是元组
特殊的“可变的tupe”:
t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
t
结果:('a', 'b', ['X', 'Y'])
这为啥能改变呢,主要原因是元组内部的集合['A','B'],其实元组不变,不是内容不改变,不改变的是元组各个元素的指向,如果它指向一个list,list可以改变,但是指向不变,比如说:tupe是一个楼层,房间是元素,房间不会动的,如果有个房间是list,那么list放房间就是总统套房哦,因为list里面的指向可以改变。
二、条件判断
1.条件判断
判断就和我们学的如果...那么...否则...就...一个道理,直接上代码:
age = 20
if age >= 18:
print("你老了!")
else:
print("小伙子还年轻!")
这就是简单的判断,如果age大于等于18,那么就输出你老了,否则也就是小于18就输出小伙子还年轻,要注意几点,要有判断条件,它其实判断出来的值就是布尔值True和False,要注意冒号,代码块要缩进,在python里面,缩进是一门艺术,以后会讲到,代码格式如下:
if 判断条件:
那么你干啥;这是你要写的代码块。
else:
这也是代码块。
还有2.0版本,一看就能看懂,直接上格式:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
注意:if
语句执行有个特点,它是从上往下判断,如果在某个判断上是True
,把该判断对应的语句执行后,剩下的elif
和else就不执行了。
if
判断条件还可以简写,只要x
是非零数值、非空字符串、非空list等,就判断为True
,否则为False,
比如写:
if x:
print('True')
2.input
input就是输入代码,你想自己输入,就直接用input,但是记住,input输入的是str数据类型,它不能和int类型相比较,所以要转换int(s),例如:
s = input('请输入: ')
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')
执行代码首先就会让你输入,然后会转换数据类型,然后就能和2000比较了。但是记住int()可不是啥都能转换,abc那就没法转换成整型嘛。