一 为什么需要列表
二 列表介绍
1. 如何定义列表
使用左右两个中括号的形式
fruits = ['apple','banana','orange']
# 列表中的值,可以为不同的数据类型
test_list = ['a',1]
2.如何取列表中的值
列表支持下标操作,跟字符串的下标操作是一样的。
fruits = ['apple','banana','orange']
a = fruits[0]
b = fruits[1]
c = fruits[2]
3.列表的遍历
使用for和while循环都可以遍历。但一般推荐使用for循环。
(1)for
fruits = ['apple','banana','orange']
for fruit in fruits:
print(fruit)
(2)while
fruits = ['apple','banana','orange']
index = 0
length = len(fruits)
while index < length:
fruit = fruits[index]
print(fruit)
4.列表嵌套
列表中可以存储任何数据类型,当然也包括列表自身类型。也即,列表中也可以存储列表
test_list = [1,2,3,['a','b','c']]
for temp in test_list:
print(temp)
5.列表相加
列表相加,相当于把后面一个列表的数据追加到第一个列表后面。
a = [1,2,3]
b = [4,5,6]
c = a + b
print(c)
6.列表的切片操作
跟字符串中的切片操作是一样的。
- 开始位置:包括开始位置。
- 结束位置:会取到结束位置前一个元素。
- 步长:默认位1,如果步长为负数,则从右到左。如果步长正数,则从左边到右边。
- 切片可以赋值。
- 逆序:list[-1::-1]
三 列表常用操作
1. append
在列表末尾添加元素
fruits = ['apple']
fruits.append('banana')
temps = [1,2,3,4,10]
print(temps)
temps.append(10)
print(temps)
2. count
统计某个元素在列表中出现的次数。
temps = ['to','be','or','not','to','be']
print(temps.count('to'))
3. extend
将一个列表中元素追加到另外一个列表中。
a = [1,2,3]
b = [4,5,6]
c = a.extend(b)
# c的结果是:1,2,3,4,5,6
4.index
找出列表中第一个某个值的第一个匹配项的索引位置,如果没有找到,则抛出一个异常:
knights = [‘hello’,‘world’]
print(knights.index(‘hello’))
5.insert
将某个值插入到列表中的某个位置:
chars = ['hello','world']
chars.insert(1,'nihao')
6.pop
移除列表中最后一个元素,并且返回该元素的值:
x = [1,2,3]
temp = x.pop() # 返回3
7.remove
移除列表中第一个匹配的元素,不会返回这个被移除的元素的值。如果被移除的这个值不存在列表中,则会抛出一个异常。
x = [1,2,3]
x.remove(2)
8.reverse
将列表中的元素反向存储。会更改原来列表中的值。
x = [1,2,3]
x.reverse()
print(x) #这时候x已经变成3,2,1了
9.sort
将列表中的元素进行排序。会更改原来列表中的位置。
x = [4,2,1,5,3]
x.sort()
print(x)
要区分sorted函数,sorted函数不会更改原来列表的位置,并且会返回一个排序后的值。
x = [4,2,1,5,3]
y = sorted(x)
print(y)
10.del
根据下标删除元素:
a = [1,2,3]
del a[0]
print(a) # [2,3]
11.使用in判断列表中是否有某个元素
x = [1,2,3]
if 1 in x:
print(True)
else:
print(False)
12.list函数
将其他的数据类型转换成列表:
a = 'hello'
print(list(a))