PYTHON列表
python列表
list = ['python','Jave','H5','C++',1,2,3,4,5,6] 列表中可以是字符串,也可以是数字。字符串要放在英文的引号中才可以;
names = ['Python', 'Java', 'H5', 'C++']
print(names)
print(type(names)) #type()函数是显示类型的,在这个代码里面names为列表,下面出来的值便是list。
结果为 ['Python', 'Java', 'H5', 'C++'] <class 'list'>
用 len() 可以获得列表的长度
print(len(names))
# 4
列表切片
ns = [1,2,3,4,5,6,7,8,9,10]
print(ns[1]) #ns为列表 1为列表索引
print(ns[1:7]) #ns为列表 1:7是指索引 1~7
print(ns[1:7:1])
print(ns[1:7:2]) #ns为列表 1:7:2 是指从1~7每隔1个后面的值输出,且范围索引1~7中索引7取不到,像数学中的 【1~7)
结果为 2 [2, 3, 4, 5, 6, 7] [2, 3, 4, 5, 6, 7] [2, 4, 6]
添加元素
使用 append() 在末尾添加元素。
使用 extend ( [ ] )在末尾添加一批元素。
使用 insert() 在任意索引位置之前插入元素。
与大多数据编程语言不同:Python支持负数索引!
names=[1,2,3]
names.append(4)
print(names)
[1, 2, 3, 4]
names.insert(-1, 'BigData')
print(names)
[1, 2, 3, 'BigData', 4]
names.extend([1,2,3])
print(names)
[1, 2, 3, 'BigData', 4, 1, 2, 3]
修改列表
names[1] = 'JS' #names是列表,中括号里面是列表元素索引,后面是列表索引对应要修改的值。
print(names)
names[3:5] = [1,2,3,4,5,6,] #索引3~5的值替换为括号内的值,【3~5) 从3开始到4结束。
print(names)
[1, 'JS', 3, 'BigData', 4, 1, 2, 3] [1, 'JS', 3, 1, 2, 3, 4, 5, 6, 1, 2, 3]
列表删除元素
names = [1, 'JS', 3, 1, 2, 3, 4, 5, 6, 1, 2, 3]
del names[4] #原理同修改一样。
print(names)
del names[4:8]
print(names)
[1, 'JS', 3, 1, 3, 4, 5, 6, 1, 2, 3]
[1, 'JS', 3, 1, 1, 2, 3]
names.remove(1) #括号里面是列表元素,根据元素删除列表元素
print(names)
['JS', 3, 1, 1, 2, 3]
删除的同时返回被删除的数据
不传参数时删除最后1个
result = names.pop(0) #括号中的 0 为names列表中的索引
print(names)
print(result)
'JS', 3, 1, 1, 2, 3] 1
清空列表
temp = [1,2,3,4]
print(temp)
temp.clear() #清空。
print(temp)
[1, 2, 3, 4] [] #结束后列表为空。
搜索元素的位置
names = [1,2,3,4,5]
print(names.index(5)) # index()括号中是列表的值。
4 #返回的是列表元素的索引。
还支持指定搜索范围
data.index(target, start, end)
列表的运算符
- + 运算符进行连接
- * 运算符复制n倍
- in 运算符判断数据是否在列表中
courses = ['微积分', '线性代数', '概率统计']
names = [1, 2, 3, 4]
all = names + courses
print(all)
[1, 2, 3, 4, 5, '微积分', '线性代数', '概率统计']
print(courses * 3)
abcabcabc
print('微积分' in courses)
True
与列表相关的全局函数
ns = [1,2,3,4,5,6,7,8,9,10]
print(min(ns)) #最大
print(max(ns)) #最小
1 10
其它函数
- data.copy() 复制
- data.reverse() 反转
- data.sort(cmp=None, key=None, reverse=False) 排序
data = [1,2,3,4]
list_name = ['ww','读书','写作']
list_name.reverse()
print(list_name)
['写作', '读书', 'ww']
data = [1,2,3,4]
#data.sort(cmp=lambda, key=lambda, reverse=True)
data.sort( reverse=True)
print(data)
[4, 3, 2, 1]
意思是sort方法接受三个参数,都可以省略,默认是升序排序。
第一个参数cmp 是 比较函数,两个参数(列表的元素)怎样比较,对于整数这种内置类型的比较,方法很直观,但是对于自定义类型的比较,就要自己定义比较函数了,函数返回 0 ,就是两个数相等,返回负数,就是第一个参数小,第一个参数就排在第二个参数后面了。
第二个参数 key 是比较列表元素的什么属性。
第三个参数reverse是bool型,意思是是否反转(倒序排序)