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)之上. 它提供了一种更方便和习惯的 ...
随机推荐
- JavaScript-Load-Image
如何将图片显示为canvas https://github.com/blueimp/JavaScript-Load-Image/blob/master/js/load-image-scale.js h ...
- gdb调试知识
之前一直不怎么用gdb,现在要用做一下记录 用gdb启动程序 gdb ./demo intel风格反汇编main函数,一共两行第一行设置汇编风格,第二行才是反汇编main函数 set disassem ...
- python 调用c++类方法(1)
myTest.cpp: #include<iostream> #include<vector> class MyTest { public: MyTest(); ~MyTest ...
- 【python】集合 list差集|并集|交集
两个list差集 list(set(b).difference(set(a))) # b中有而a中没有的 示例: a=[1,2,3] b=[2,3] list(set(a).difference(se ...
- 设置了responseType:Blob之后,如果返回json错误信息,如果获取?
最近做了一个文件下载功能,于是设置了responseType: Blob的方式, 什么是Blob呢,MDN官方解释:Blob 对象表示一个不可变.原始数据的类文件对象.Blob 表示的不一定是Java ...
- Gradle之Gradle 源码分析(四)
Gradle 的启动 constructTaskGraph runTasks finishBuild gradle 脚本如何编译和执 插件调用流程 一.Gradle 的启动 1.1 整体实现图 1.2 ...
- LeetCode算法题-Peak Index in a Mountain Array(Java实现)
这是悦乐书的第329次更新,第352篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第199题(顺位题号是852).如果以下属性成立,我们将数组A称为山: A.length ...
- Linux 系统安装 python
Centos 7 Centos 7 安装 python3 (不要卸载python2 因为yum 要用) https://phoenixnap.com/kb/how-to-install-python- ...
- Linux 后台执行python或者java代码的命令
1.nohup 命令操作后台执行程序 后台启动 nohup python app.py params1 > nohup.out >& & 查看后台进程启动 jobs -l ...
- 【Qt开发】几个傻不拉几关于char*和const char*的不兼容问题
1. string转const char* string s ="abc";constchar* c_s = s.c_str(); 2. const char*转string ...