python列表类型
列表类型
一、列表(list)
如果现在有一个需求,我们需要存储一个人的爱好,用前面说的数据类型存储,毫无疑问只能用字符串存储,并且一个人的爱好可能是很多个,那么我们可以用空格将让他们分开。
hobbies = "read run girl"
print(hobbies)
输出:read run girl
我们一直在强调一件事情,存不是目的,目的是如何取,取一个人的爱好,用字符串来存,当取某一个爱好的时候,就会发现无从下手。因此需要换一个方式存储——列表。
1.1作用
可以存放多个值。并且是分开的。
1.2定义
在[]中括号中用逗号分隔任意类型的值
hobby = 'read'
hobby_list = [hobby,'run','girl']
print(id(hobby_list))
print(type(hobby_list))
print(hobby_list)
输出:
1716511330888
<class 'list'>
['read', 'run', 'girl']
1.3如何用
存不是目的,取才是目的。我们介绍列表索引取值的方法,牢牢记住索引序列从0开始。
hobby_list = ['read','run','girl']
#索引取值,取出第二个值
print(hobby_list[1])
输出:
run
hobby_list = ['read','run',['girl_name',18,'shanghai']]
#取出女孩年龄
print(hobby_list[2][1])
输出:
18
二、列表的内置方法
2.1优先掌握
-
按索引取值(正方向取+反方向取),既可以存,也可以取,也可以修改
name_list = ['chen', 'jason', 'tank', 'sean'] name_list[0] = 'chen handsom' print(name_list) print(name_list[0]) name_list[1]='12345'#可以对列表内的元素进行修改 print(name_list[1]) ##输出: ['chen handsom', 'jason', 'tank', 'sean'] chen handsom 12345
-
切片(用法同字符串)
name_list = ['chen', 'jason', 'tank', 'sean'] print(name_list[0:3:2]) #输出: ['chen', 'tank']
-
长度len
name_list = ['chen', 'jason', 'tank', 'sean'] print(len(name_list)) #输出: 4
-
成员运算in 或者 not in
name_list = ['chen', 'jason', 'tank', 'sean'] print('chen' in name_list) print('tank' not in name_list) #输出: True False
-
追加append,在列表后面添加元素
name_list = ['chen', 'jason', 'tank', 'sean'] name_list.append('aresb') print(name_list) #输出: ['chen', 'jason', 'tank', 'sean', 'aresb']
-
删除del
name_list = ['chen', 'jason', 'tank', 'sean'] del name_list[2] print(name_list) #输出: ['chen', 'jason', 'sean']
-
循环
name_list = ['chen', 'jason', 'tank', 'sean'] for i in name_list: print(i) #输出: chen jason tank sean
2.2 需要掌握
-
insert()
#插入,指定位置插入 name_list = ['chen', 'jason', 'tank', 'sean'] name_list.insert(1,'handsome')#在索引1的位置插入handsome print(name_list) #输出: ['chen', 'handsome', 'jason', 'tank', 'sean']
-
pop()
#pop()默认删除最后一个元素,指定位置删除某一个元素 name_list = ['chen', 'jason', 'tank', 'sean'] name_list.pop(1) print(name_list) name_list.pop() print(name_list) #输出: ['chen', 'tank', 'sean'] ['chen', 'tank']
-
-
remove()
#删除指定元素 name_list = ['chen', 'jason', 'tank', 'sean'] name_list.remove('chen') print(name_list) ##输出: ['jason', 'tank', 'sean']
-
count() 对列表内的某一个元素进行计数
##对指定元素进行计数 name_list = ['chen', 'jason', 'tank', 'sean'] print(name_list.count('chen')) #输出: 1
-
index()
##寻找元素的位置 name_list = ['chen', 'jason', 'tank', 'sean'] print(name_list.index('jason')) print(hobby_list.index('play', 1, 3))# 索引1-3内有没有该值 #输出: 1 False
-
clear()
#对列表进行清空 name_list = ['chen', 'jason', 'tank', 'sean'] name_list.clear() print(name_list) #输出: []
-
copy()
#复制 name_list = ['chen', 'jason', 'tank', 'sean'] print(name_list.copy()) #输出: ['chen', 'jason', 'tank', 'sean']
-
extend() 扩展列表
## 将另外一个列表的取出放进列表中 name_list = ['chen', 'jason', 'tank', 'sean'] name_list2 = ['chen python'] name_list.extend(name_list2) print(name_list) #输出: ['chen', 'jason', 'tank', 'sean', 'chen python']
-
reverse()
#反序 name_list = ['chen', 'jason', 'tank', 'sean'] name_list.reverse() print(name_list) #输出: ['sean', 'tank', 'jason', 'chen']
-
sort()
#进行排序,元素必须是相同的类型
name_list = ['chen', 'jason', 'tank', 'sean']
name_list.sort()
print(name_list)
#输出:
['chen', 'jason', 'sean', 'tank']
name_list = ['chen', 'jason', 'tank', 'sean']
name_list.sort(reverse=True)
print(name_list)
#输出:
['tank', 'sean', 'jason', 'chen']
#sort与reverse()的使用,按从小到大
hobby_list = [['nick', 1000], ['jason', 500000], ['sean', 2000], ['tank', 10000]]
#1
hobby_list.sort(key=lambda i: i[1])
print(hobby_list)
#2
def func(i):
return i[1]
hobby_list.sort(key=func)
print(hobby_list)
#输出:
[['nick', 1000], ['sean', 2000], ['tank', 10000], ['jason', 500000]]
[['nick', 1000], ['sean', 2000], ['tank', 10000], ['jason', 500000]]
#按从大到小排序
hobby_list = [['nick', 1000], ['jason', 500000], ['sean', 2000], ['tank', 10000]]
#1
hobby_list.sort(key=lambda i: i[1], reverse=True) #
print(hobby_list)
#2
def func(i):
return i[1]
hobby_list.sort(key=func,reverse=True)
print(hobby_list)
#输出:
[['jason', 500000], ['tank', 10000], ['sean', 2000], ['nick', 1000]]
[['jason', 500000], ['tank', 10000], ['sean', 2000], ['nick', 1000]]
- 存多个值
- 无序
- 可变数据类型