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)之上. 它提供了一种更方便和习惯的 ...
随机推荐
- sourcetree pull push需要密码问题
我的是mac,以mac版本的sourcetree 为例 第一步 项目仓库右上角设置 第二步.点击远程仓库. 点击仓库路径点击编辑 第三步 url/路径修改 原本.https://gitee.com ...
- 待处理bug
https://laravel-china.org/docs/laravel/5.1/installation/1039#installation composer 下载laravel 有问题
- leetcode-mid- math-166. Fraction to Recurring Decimal
mycode 73.92% 如何判断同号? 1)res = "-" if ((numerator>0) ^ (denominator>0)) else " ...
- java常用加密算法
常用加密算法的Java实现(一) ——单向加密算法MD5和SHA 日期:2014/6/1 文:阿蜜果 1.Java的安全体系架构 1.1 Java的安全体系架构介绍 Java中为安 ...
- RequestContextHolder获取request和response
RequestContextHolder获取request和response 2019年03月16日 15:18:15 whp404 阅读数:21更多 个人分类: Spring 首先需要在web. ...
- 【Linux 应用编程】进程管理 - 进程间通信IPC之共享内存 mmap
IPC(InterProcess Communication,进程间通信)是进程中的重要概念.Linux 进程之间常用的通信方式有: 文件:简单,低效,需要代码控制同步 管道:使用简单,默认阻塞 匿名 ...
- vue-router实现组件间的跳转---参数传递
四.通过VueRouter来实现组件之间的跳转:参数的传递 login ---用户名--->main ①明确发送方和接收方②配置接收方的路由地址 {path:'/myTest',componen ...
- get与post请求的区别 (面试会问)
get和post请求是HTTP与服务器交互方式,也就是通常所说的风别对服务器资源的增删改查 1. post是修改数据 get是获得数据 GET在浏览器回退时是无害的,而POST会再次提交请求.(面 ...
- Dubbo原理学习
Dubbo源码及原理学习 阿里中间件团队博客 Dubbo官网 Dubbo源码解析 Dubbo源码解析-掘金 Dubbo源码解析-赵计刚 Dubbo系列 源码总结+最近感悟
- CentOS 7.6 RPM方式安装Oracle19c的过程
1. 下载需要的安装包: 1.1 preinstall http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/orac ...