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 常用方法的更多相关文章

  1. Python字符串常用方法(二)

    二.字符串的操作常用方法 字符串的替换.删除.截取.复制.连接.比较.查找.分割等 1. string. lower() :转小写 2. string. upper() :转大写 3. string. ...

  2. Python Selenium 常用方法总结(不断补充)

    还有此篇内容也丰富Selenium常见元素定位方法和操作的学习介绍 selenium Python 总结一些工作中可能会经常使用到的API. 1.获取当前页面的Url 方法:current_url 实 ...

  3. 2.Python list_常用方法总结

    一.创建列表 只要把逗号分隔的不同数据项,使用方括号[],括起来即可, 下标(角标索引)从0开始,最后一个一个元素下标可以写-1 list = ['1' , '2' , '3'] list = []  ...

  4. Python Selenium 常用方法总结

    selenium Python 总结一些工作中可能会经常使用到的API. 1.获取当前页面的Url 方法:current_url  实例:driver.current_url    2.获取元素坐标 ...

  5. python字符串常用方法、分割字符串等

    一.字符串的常用方法 1.str.capitalize()  字符串首字母大写 2.str.center()  把字符串居中 3.str.isalnum() 判断字符串是否含有英文.数字,若有英文和数 ...

  6. Python+selenium常用方法(Webdriver API)

    小编整理了目前学习的Python+selenium常用的一些方法函数,以后有新增再随时更新. 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() ...

  7. 转载——Python Selenium 常用方法总结

    selenium Python 总结一些工作中可能会经常使用到的API. 1.获取当前页面的Url 方法:current_url 实例:driver.current_url 2.获取元素坐标 方法:l ...

  8. python 字符串常用方法

    字符串常用方法 capitalize() String.capitalize() 将字符串首字母变为大写 name = 'xiaoming' new_name = name.capitalize() ...

  9. Python基本类常用方法

    数学函数 abs(x) 返回数字的绝对值,如abs(-10) 返回 10 ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5 cmp(x, y)如果 x < y 返回 ...

  10. python | Elasticsearch-dsl常用方法总结(join为案例)

    Elasticsearch DSL是一个高级库,其目的是帮助编写和运行针对Elasticsearch的查询.它建立在官方低级客户端(elasticsearch-py)之上. 它提供了一种更方便和习惯的 ...

随机推荐

  1. ZXing使用详解与范例(C#)

    介绍 ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口.Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码.(引自百度百科) 用 ...

  2. python-又来练习题--输出一个字符串中最长的子字符串及其长度

    一.有个字符串 str= '$sd1#111$svda123!!!221&eSSDSyyyyyyDG^svda121^svda124^1111111111111' 包含特殊字符.数字和字母,输 ...

  3. spring hibernate 事务整合 使用测试类 事务不自动提交的问题!!!

    使用JUnit 测试hibernate 事务管理的时候应注意 ,测试类完成是默认回滚的. 所以只能查询数据库却不能增删改数据库. 应该在测试类上面加上注解 @Rollback(false)  表似默认 ...

  4. 分布式任务队列 Celery

    目录 目录 前言 简介 Celery 的应用场景 架构组成 Celery 应用基础 前言 分布式任务队列 Celery,Python 开发者必备技能,结合之前的 RabbitMQ 系列,深入梳理一下 ...

  5. 测开之路一百四十八:WTForms表单验证

    使用WTForms表单验证,可以在数据建模时就设置验证信息和错误提示 创建模型时,设置验证内容,如必填.格式.长度 from flask_wtf import Formfrom wtforms imp ...

  6. ES6标准入门 第五章:数值的扩展

    1.二进制和八进制数值表示法 二进制前缀:0b(或0B):   八进制前缀:0o(或0O). 注意:ES5的严格模式 和 ES6中不再允许使用 0  表示八进制. 将二进制和八进制数值转换为十进制数值 ...

  7. 【ABAP系列】SAP ABAP BDC_OKCODE 解释

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP BDC_OKC ...

  8. LeetCode.859-伙伴字符串(Buddy Strings)

    这是悦乐书的第330次更新,第354篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第200题(顺位题号是859).给定两个字母A和B的小写字母,当且仅当我们可以在A中交换 ...

  9. 网络通讯数据.传输json(java<==>C#)

    ZC:主要是测试解决 时间转成JSON不一样的问题 ZC:java中转换时间格式的关键是“JSONUtils.getMorpherRegistry().registerMorpher(new Date ...

  10. API接口设计

    1.场景描述 比如说我们要做一款APP,需要通过api接口给app提供数据.假设我们是做商城,比如我们卖书的.我们可以想象下这个APP大概有哪些内容: 1)首页:banner区域(可以是一些热门书籍的 ...