Python基础-列表
为什么需要列表:
列表相当于一个容器。可以把一系列相关的值放在这个容器中进行存储。比如现在要存储水果的种类,那么如果通过之前的方式,一种水果用一个变量存储,那么代码将变得非常糟糕。正确的存储方式应该是定义一个列表类型的变量,然后把所有这些水果的名字存储到这个列表中。在其他编程语言中,叫做数组。
列表介绍:
- 如何定义列表:使用左右两个中括号的形式。
fruits = ['apple','banana','orange'] # 列表中的值,可以为不同的数据类型 test_list = ['a',1]
- 如何取列表中的值:列表支持下标操作,跟字符串的下标操作是一样的。
fruits = ['apple','banana','orange'] a = fruits[0] b = fruits[1] c = fruits[2]
- 列表的遍历:使用
for
和while
循环都可以遍历。但一般推荐使用for
循环。for
循环版本的:fruits = ['apple','banana','orange'] for fruit in fruits: print(fruit)
while
循环版本的:fruits = ['apple','banana','orange'] index = 0 length = len(fruits) while index < length: fruit = fruits[index] print(fruit)
- 列表嵌套:列表中可以存储任何数据类型,当然也包括列表自身类型。也即,列表中也可以存储列表:
test_list = [1,2,3,['a','b','c']] for temp in test_list: print(temp)
- 列表相加:列表相加,相当于把后面一个列表的数据追加到第一个列表后面。
a = [1,2,3] b = [4,5,6] c = a + b print(c)
- 列表的切片操作:跟字符串中的切片操作是一样的。
- 开始位置:包括开始位置。
- 结束位置:会取到结束位置前一个元素。
- 步长:默认位1,如果步长为负数,则从右到左。如果步长正数,则从左边到右边。
- 切片可以赋值。
- 逆序:list[-1::-1]
列表常用操作:
append
:在列表末尾添加元素。fruits = ['apple'] fruits.append('banana')
count
:统计某个元素在列表中出现的次数。temps = ['to','be','or','not','to','be'] print(temps.count('to'))
extend
:将一个列表中元素追加到另外一个列表中。a = [1,2,3] b = [4,5,6] c = a.extend(b) # c的结果是:1,2,3,4,5,6
index
:找出列表中第一个某个值的第一个匹配项的索引位置,如果没有找到,则抛出一个异常:knights = ['hello','world'] print(knights.index('hello'))
insert
:将某个值插入到列表中的某个位置:chars = ['hello','world'] chars.insert(1,'nihao')
pop
方法:移除列表中最后一个元素,并且返回该元素的值:x = [1,2,3] temp = x.pop() # 返回3
remove
方法:移除列表中第一个匹配的元素,不会返回这个被移除的元素的值。如果被移除的这个值不存在列表中,则会抛出一个异常。x = [1,2,3] x.remove(2)
reverse
:将列表中的元素反向存储。会更改原来列表中的值。x = [1,2,3] x.reverse() print(x) #这时候x已经变成3,2,1了
-
sort
:将列表中的元素进行排序。会更改原来列表中的位置。x = [4,2,1,5,3] x.sort() print(x)
要区分
sorted
函数,sorted
函数不会更改原来列表的位置,并且会返回一个排序后的值。x = [4,2,1,5,3] y = sorted(x) print(y)
-
del
关键字:根据下标删除元素:a = [1,2,3] del a[0] print(a) # [2,3]
-
使用
in
判断列表中是否有某个元素:x = [1,2,3] if 1 in x: print(True) else: print(False)
-
list
函数:将其他的数据类型转换成列表:a = 'hello' print(list(a))
来源:https://www.cnblogs.com/song9998/p/11635677.html