一 为什么需要列表

二 列表介绍

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))