跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

列表和元组

list 是一种有序、可变的数据类型,可添加删除其中的元素。

len()函数:可以获取列表元素的个数

classmates = ['Micheal' , 'Bob' , 'James']
print(classmates)
print(len(classmates))

跟着廖雪峰学python 003

Terminal:跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

用索引来读取列表里的元素,从0开始,最后一个可以用-1或len(classmates)-1表示

classmates = ['Micheal' , 'Bob' , 'James']
print(classmates[0])
print(classmates[-1])
print(classmates[len(classmates)-1])

跟着廖雪峰学python 003

Terminal: 跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

倒数第二位可以用-2表示,以此类推。索引超出范围会报错

append()函数:列表末尾加元素

insert()函数:在列表指定位置添加元素

pop()函数:删除列表指定位置元素,括号空默认删除最后一个元素

classmates = ['Micheal' , 'Bob' , 'James']
print(classmates)
classmates.append('Lebron')
print(classmates)
classmates.insert(1,'Jordan')
print(classmates)
classmates.pop()
print(classmates)
classmates.pop(1)
print(classmates)

跟着廖雪峰学python 003

Terminal:跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

列表中的某个元素换成其他,可以直接赋值给对应的索引位置

classmates = ['Micheal' , 'Bob' , 'James']
classmates[1]='Jordan'
print(classmates)

跟着廖雪峰学python 003

Terminal:跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

列表中的元素数据类型可以不同,列表也可以作为另一个列表的元素

L = ['Apple', 123, True]
S=['php','html']
L.insert(1,S)
print(L)
print(len(L))
print(L[1][0])

跟着廖雪峰学python 003

Terminal:跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

tuple:元组,是一种有序列表

tuple和list相似,但是tuple一旦初始化就不可以修改,也不可以使用上面的添加、删除函数,但可以通过索引地址正常读取

classmates = ('Michael', 'Bob', 'Tracy')
print(classmates[0])
print(classmates[-1])

跟着廖雪峰学python 003

Terminal:跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple

tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来

定义一个空的tuple 写成:t = ()

定义一个元素的tuple 写成:t = (1) ×

这样定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1

所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

如: t = (1, )

Python在显示只有1个元素的tuple时,也会加一个逗号,以免你误解成数学计算意义上的括号。

当tuple中的一个元素是列表时,可以改变列表里的元素

t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
print(t)

跟着廖雪峰学python 003

Terminal:跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

tuple的不变指的是元素指向永远不变,上面指向的列表一直都是相同的列表,改变的是列表里的元素。

条件判断

age = 3
if age >= 18:
print('your age is', age)
print('adult')
else:
print('your age is', age)
print('teenager')

跟着廖雪峰学python 003

Terminal: 跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

elifelse if的缩写,完全可以有多个elif

age = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')

跟着廖雪峰学python 003

Terminal: 跟着廖雪峰学python 003跟着廖雪峰学python 003编辑

if x:
print('True')

跟着廖雪峰学python 003

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False

跟着廖雪峰学python 003跟着廖雪峰学python 003编辑