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)之上. 它提供了一种更方便和习惯的 ...
随机推荐
- 深入浅出mysql笔记---1、mysql下载安装
深入浅出mysql笔记---1.mysql下载安装 一.总结 一句话总结: linux下rpm安装即可 1.linux的wget命令作用? 下载文件的工具:比如wget http://cn.wordp ...
- Sass 的 & 符号(ampersands)
重复声明 有时您需要击败第三方 CSS 库的声明来获取样式的所有权: .parent.parent {} 这种方式比使用和 ID,内联样式或!important的压倒性弱,并且它可能比使用任意父元素限 ...
- Advanced Message Queuing Protocol ( 1 ) 概述
The Advanced Message Queuing Protocol (AMQP)是一个标准开放的应用层的消息中间件(Message Oriented Middleware)协议.AMQP定义了 ...
- Python学习之==>文件操作
1.打开文件的模式 r,只读模式(默认)[不可写:文件不存在,会报错] w,只写模式[不可读:不存在则创建:存在则删除内容] a,追加模式[不可读:不存在则创建:存在则追加内容] r+,读写模式[可读 ...
- 阿里云 centos 部署 Django 可能遇到的问题
问题一:版本限制 File "/Users/icourt/Desktop/hf/venv/lib/python3.7/site-packages/django/db/backends/m ...
- 伯努利分布、二项分布、多项分布、Beta分布、Dirichlet分布
1. 伯努利分布 伯努利分布(Bernoulli distribution)又名两点分布或0-1分布,介绍伯努利分布前首先需要引入伯努利试验(Bernoulli trial). 伯努利试验是只有两种可 ...
- 八、Zabbix-应用集、监控项
一.应用集 1.应用集一般配合监控项使用,它相当于多个同类型的监控项的分类目录 2.添加应用集 (1)配置—>模板—>需要调整的模板—>应用集 (2)添加应用集 (3) (4)查看应 ...
- kafka producer发送消息 Failed to update metadata after问题
提示示例: ERROR Error when sending message to topic test with key: null, value: 2 bytes with error: Fail ...
- HashMap底层为什么一定用数组
HashMap源码数据结构: Entry[] table = new Entry[capacity]; 其中,Entry就是一个链表节点.如果将数组替换成LinkedList是否可行?如下: List ...
- JAVA基础--JAVA 集合框架(泛型、file类)
一.集合总结 集合:Collection体系.Map体系. Collection体系:单列集合的共性操作规则. List:列表,可以重复,有下标,拥有特有的迭代器ListIterator. Array ...