Python 列表(List)
什么是 list
Python内置的一种数据类型是列表(list),也叫作数组。
list是一种有序的集合,可以随时添加和删除其中的元素,可以存储任意数据类型的集和。
list取元素是按照下标取值的,也可以叫做索引或是角标,下标是以0开始的,例如:s1的下标是0,取值的话是:list[0]。
list = ['s1','s2',1,'hello']
list 里面可以是整形,浮点数,复数,布尔类型,也可以是字符串。
列表元素的增加:
变量.append(“想要加入的元素”)
——在末尾增加一个元素
list = ['s1','s2',1,'hello'] list.append('666') print(list)#在list的末尾增加一个元素 ['s1', 's2', 1, 'hello', '666']
在指定的位置添加:
变量.insert(想要指定的位置下标,“想要插入的元素”)
——如果指定的位置不存在,就会插入到最后
list = ['s1','s2',1,'hello'] list.insert(4,'大白')#在指定的位置插入元素, # 如果指定的下标不存在,那么会把元素插入到最后 print(list) ['s1', 's2', 1, 'hello', '大白']
查询:
list = ['s1','s2',1,'hello'] print('单个取',list[0]) print('最后一个元素',list[-1]) 单个取: s1 最后一个元素: hello
修改:
list = ['s1','s2',1,'hello'] list[3] = '大哈' #指定下标,想要更改为什么等于号里面就写什么 print('改之后的',list) 改之后的 ['s1', 's2', 1, '大哈']
删除:
#pop默认删除list里面最后一个元素
list = ['s1','s2',1,'hello']
list.pop(3) #指定下标的元素会删除
print('删除之后:',list)
删除之后: ['s1', 's2', 1]
#删除指定的位置的元素
list = ['s1','s2',1,'hello']
del list[0]
print('删除之后:',list)
删除之后: ['s2', 1, 'hello']
#根据元素的名称删除
list = ['s1','s2',1,'hello'] list.remove('hello') print('删除之后:',list) 删除之后: ['s1', 's2', 1] #1、删除的指定的元素,如果list里面有多个一样的元素,那么只会删掉一个 #2、删除的指定的元素,如果list里面不存在,就会报错
其他常用方法:
(1)某个元素在list里面的数量
list = ['s1','s2',1,'hello','hello'] count = list.count('hello') print('count方法:',count) count方法: 2
(2)清空list
list = ['s1','s2',1,'hello','hello'] clear = list.clear() print('clear方法:',clear) clear方法: None
(3)复制
list = ['s1','s2',1,'hello','hello'] new_list = list.copy() print('copy方法:',new_list) copy方法: ['s1', 's2', 1, 'hello', 'hello']
(4)反转
numbers = [1,2,3,4,5,6,7,8,9,10] numbers.reverse() print('reverse方法:',numbers) reverse方法: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
(6)排序
#从小到大排序
numbers = [9,23,12,234,23,5235,235,235,23523,523] numbers.sort() print('sort方法',numbers) sort方法: [9, 12, 23, 23, 234, 235, 235, 523, 5235, 23523]
#从大到小排序 numbers = [9,23,12,234,23,5235,235,235,23523,523] numbers.sort(reverse=True) #加上reverse=True print('sort方法:',numbers) sort方法: [23523, 5235, 523, 235, 235, 234, 23, 23, 12, 9]
(7)把一个list的元素,加入到另外一个list里面
numbers = [1,2,3,4,5,6,7,8,9,10] numbers2 = ['a','b','c','d'] numbers.extend(numbers2) print('extend方法:',numbers) sort方法: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'a', 'b', 'c', 'd']
(8)找某个元素的下标
list = ['s1','s2',1,'hello'] index = list.index('hello') print('index的方法:',index) index的方法: 3
(9)拆包
list = [1,2,3] a,b,c = list #拆包,123给到abc
(10)浅拷贝---内存地址不变
l = [1,2,3,4,5,6] l2 = l print('l的内存地址:',id(l)) print('l2的内存地址:',id(l2)) 结果: l的内存地址: 10758920 l2的内存地址: 10758920
(11)深拷贝---内存地址会变
import copy #使用到copy模块 l = [1,2,3,4,5,6] l2 = l l2 = copy.deepcopy(l) #深拷贝 print('l的内存地址:',id(l)) print('l2的内存地址:',id(l2)) 结果: l的内存地址: 11171656 l2的内存地址: 11140744
列表生成式:
ll = [1, 2, 3, 4,5] # 怎么把l变成'12345' l2 = [str(i)for i in l] #先循环l,把每个元素给到str转化为字符串 for i in l: l2.append(str(i)) print(l2) print(''.join(l2))
l3 = [i for i in range(10) if i%2==0 ] #可以在后边加if判断条件 %是除号 print(l3) #结果:[0, 2, 4, 6, 8]
等同于如下代码:
l3 = []
for i in range(10):
i%2==0
l3.append(i)
元组
元组其实和列表一样,不一样的是,元组的值不能改变,一旦创建,就不能再改变了,比如说,要存数据库的连接信息,这个连接信息在程序运行中是不能被改变的,如果变了那数据库连不上了,程序就完了,这样的就可以使用元组了,元组呢,也提示别人,看到是元组的话,就说明这个值是不能被改变的,元组的定义方式是用(),小括号;元组只有两个方法,那就是count和index
mysql_coon = ('192.168.1.109','root','123456',3306,'my_db')#定义元组
* 定义的元组里面只有一个元素,要在末尾+ 逗号,不然不会是元组。
本文来自博客园,作者:他还在坚持嘛,转载请注明原文链接:他还在坚持嘛 https://www.cnblogs.com/brf-test/p/11494777.html