python List 常用方法
list是python常用的数据类型,属于可变的数据类型。用[]表示,里面的元素用','隔开,并且里面的元素类型可以不同,对于每个元素,list都有一个索引一一对应,第一个元素的索引是0,第二个是1,以此类推...
例如:list1 = [1,'name',['innerList'],(1,3)],这个list1包含了数字、字符串、列表、元组等不同类型的数据
names = ["A",'B','C']
# 根据索引取值
print(names[2]) # 字典的下标从0开始,2 是第三个元素
# 结果:C
# 切片
print(names[0:2]) # 取索引为0-2的元素,不包括2
print(names[0:]) # 取0到最后一个元素(冒号前后如果为空,则默认代表开头和结尾)
print(names[:]) # 取所有元素
print(names[1:-1]) # 从1开始,取到最后一个元素(最后一个元素为-1,倒数第二个为-2,...)
print(names[1:-2]) # 从1开始,取到倒数第二个元素
print(names[::2]) # 从索引0开始,每次间隔1个(2-1)取值 # 结果:
# ['A', 'B']
# ['A', 'B', 'C']
# ['A', 'B', 'C']
# ['B']
# []
# ['A', 'C']
print('-----------------') # 列表的复制
second = names[:] # 如果写成: second = names,则second和names指向同一个内存地址,对其中一个进行更改另一个也会跟着更改
second.append('ccc')
print(names)
# ['A', 'B', 'C']
深复制和浅复制
from copy import copy,deepcopy
list1 = ['a','b',[1,2,3]] # list1,里面包含了一个list
list2 = copy(list1) # 浅复制一个list2
list3 = deepcopy(list1) # 深复制一个list3
list1[2].append(4) # 对list1中的list添加一个元素4
list1.append('c') # 对list1添加元素c
print(list2) # 浅复制的对象,虽然外层元素没有变化(没有多c),但是内部的list还是变化了(多了4),说明了内部的list还是共用的
print(list3) # 深复制的对象,外层和内层都没有变化,说明这是一个全新的对象
# 添加
names.append('D')
print(names)
# ['A', 'B', 'C', 'D'] # 插入
names.insert(1,'E')
print(names)
# ['A', 'E', 'B', 'C', 'D'] # 删除特定元素 A
names.remove('A')
print(names)
# ['E', 'B', 'C', 'D'] # 另一种删除方法:
del names[-1]
print(names)
# ['E', 'B', 'C'] # pop删除,默认弹出最后一个元素,并将这个元素存放在pop中
pop = names.pop()
print('pop=',pop,sep='')
# pop=C # 获取元素的索引
print(names.index('B'))
# 1 # 统计元素出现的次数
print(names.count('B'))
# 对列表进行翻转
names.reverse()
print(names)
# ['B', 'E'] # 列表排序:reserve=True代表降序排列
names.sort(reverse=True)
print(names)
# ['E', 'B'] names2 = [1,2,3,4,5] # 扩展list
names.extend(names2)
print(names)
# ['E', 'B', 1, 2, 3, 4, 5] # 步长打印
print(names[0:-1:2]) # print(names[::2}
# ['E', 1, 3] # 列表生成器
list2 = [x*3 for x in range(10)]
print(list2)
# [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
list去重:
from collections import Counter #引入Counter a = [29,36,57,12,79,43,23,56,28,11,14,15,16,37,24,35,17,24,33,15,39,46,52,13]
b = dict(Counter(a))
print("a的长度是:",len(a))
print("b的长度是:",len(b))
print ("重复元素:",[key for key,value in b.items()if value > 1]) #只展示重复元素
print ("重复元素和次数:",{key:value for key,value in b.items()if value > 1}) #展现重复元素和重复次数
python List 常用方法的更多相关文章
- Python字符串常用方法(二)
二.字符串的操作常用方法 字符串的替换.删除.截取.复制.连接.比较.查找.分割等 1. string. lower() :转小写 2. string. upper() :转大写 3. string. ...
- Python Selenium 常用方法总结(不断补充)
还有此篇内容也丰富Selenium常见元素定位方法和操作的学习介绍 selenium Python 总结一些工作中可能会经常使用到的API. 1.获取当前页面的Url 方法:current_url 实 ...
- 2.Python list_常用方法总结
一.创建列表 只要把逗号分隔的不同数据项,使用方括号[],括起来即可, 下标(角标索引)从0开始,最后一个一个元素下标可以写-1 list = ['1' , '2' , '3'] list = [] ...
- Python Selenium 常用方法总结
selenium Python 总结一些工作中可能会经常使用到的API. 1.获取当前页面的Url 方法:current_url 实例:driver.current_url 2.获取元素坐标 ...
- python字符串常用方法、分割字符串等
一.字符串的常用方法 1.str.capitalize() 字符串首字母大写 2.str.center() 把字符串居中 3.str.isalnum() 判断字符串是否含有英文.数字,若有英文和数 ...
- Python+selenium常用方法(Webdriver API)
小编整理了目前学习的Python+selenium常用的一些方法函数,以后有新增再随时更新. 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() ...
- 转载——Python Selenium 常用方法总结
selenium Python 总结一些工作中可能会经常使用到的API. 1.获取当前页面的Url 方法:current_url 实例:driver.current_url 2.获取元素坐标 方法:l ...
- python 字符串常用方法
字符串常用方法 capitalize() String.capitalize() 将字符串首字母变为大写 name = 'xiaoming' new_name = name.capitalize() ...
- Python基本类常用方法
数学函数 abs(x) 返回数字的绝对值,如abs(-10) 返回 10 ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5 cmp(x, y)如果 x < y 返回 ...
- python | Elasticsearch-dsl常用方法总结(join为案例)
Elasticsearch DSL是一个高级库,其目的是帮助编写和运行针对Elasticsearch的查询.它建立在官方低级客户端(elasticsearch-py)之上. 它提供了一种更方便和习惯的 ...
随机推荐
- legend3---laravel验证码使用
legend3---laravel验证码使用 一.总结 一句话总结: 1.先用composer下载好captcha扩展:配置好composer.json然后运行composer update 2.引入 ...
- 如何将post请求转换成put和delete请求
<form:form action="${pageContext.request.contextPath}/emp" method="POST" mode ...
- Python深度学习读书笔记-1.什么是深度学习
人工智能 什么是人工智能.机器学习与深度学习(见图1-1)?这三者之间有什么关系?
- 7、Shiro加密和加盐
这里我们以md5加密方法举例,首先我们写一个main方法测试我们的密码经过md5加密之后的得到什么样的字符串: /** * 书写方法测试Md5Hash将密码“houru”加密之后的密文 * 但是仅仅加 ...
- python每日一练:0014题
第 0014 题: 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示: { "1":["张三",150,120,100], &q ...
- 深入理解Linux-hostname
当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问题给我好好上了一课,很多知识点,当你觉得你已经掌握的时候,其实你了解的还只是皮毛.技术活,切勿浅尝则止! ...
- 多线程13-CountdownEvent
); )); )); t1.Start(); t2.Start(); _coun ...
- adb 连接 mumu 模拟器
[win版]adb connect 127.0.0.1:7555adb shell [mac版] adb kill-server && adb server && ad ...
- Kubernetes服务部署解决方案
学习了K8S的基础知识,我们的目的就是解决我们服务的迁移,那么接下去通过几个案例来感受一下K8s部署带来的便捷与效率. 环境准备: 3个节点,然后我这边也安装了 Ingress. 部署wordpres ...
- docker配置文件不生效
1.查看docker配置文件位置 systemctl status docker.service 2.修改docker配置文件 vim /lib/systemd/system/docker.servi ...