列表类,类名是list

通过list类创建对象,使用中括号

列表特性:

    使用中括号括起来
中间用逗号分隔每个元素
元素可以是数字、字符串、布尔值、列表
列表中可以嵌套列表
列表中每个元素的下标从0开始
可以使用切片取得每个元素,取得的结果也是列表;
可以使用while或者for循环取得元素;
列表中的元素可以被修改;
列表在内存中是以链表的形式存储;
列表在内存中存储时,除了内容之外还保存有下个元素的位置信息

例如:创建list类的对象,这个对象的变量名是li

li=[1,12,9,"age","alex"]
print(li[3])
返回结果:
age

li=[1,12,9,"age","alex"]
print(li[1:-1])
返回结果:
[1, 12, 9, 'age']

li=[1,12,9,"age","alex"]
for item in li:
print(item)
返回结果:
1
12
9
age
alex

#列表的修改:
li=[1,12,9,"age","alex"]
li[1]=120
print(li[1])
返回结果:
120 #切片方法批量修改
li=[1,12,9,"age","alex"]
li[1:3]=[120,90] 列表的删除:
方法1,索引方式
li=[1,12,9,"age","alex"]
del li[1]
print(li) 方法2,切片方式
li=[1,12,9,"age","alex"]
del li[1:3]
print(li) 列表的in操作,常用于判断列表中的某个值是否存在
li=[1,12,9,"age","alex"]
v= 12 in li
print(v)
返回结果:
True #列表中的元素以逗号分隔作为一个整体
li=[1,12,9,"age","alex"]
v= lex in li
print(v)
返回结果:
False #嵌套内的某一个不能单独查找
li=[1,12,9,"age",["QQ","mail",222],"alex"]
v="QQ" in li
print(v)
返回结果:
False li=[1,12,9,"age",["QQ","mail",222],"alex"]
v=["QQ","mail",222] in li
print(v)
返回结果:
True #如果要查找某个元素内的值,需要具体指定
li=[1,12,9,"age",["QQ","mail",222],"alex"]
v="lex" in li[5]
print(v)
返回结果:
True li=[1,12,9,"age",["QQ","mail",222],"alex"]
v="QQ" in li[4]
print(v)
返回结果:
True

***************列表的其它说明及方法***************

#嵌套列表的取值
li=[1,12,9,"age",["QQ",["19",10],222],"alex"]
v=li[4][1][0]
print(v)
返回结果:
19

#类型转换
#字符串转换到列表
#把字符串中每个字符当作列表的元素
#内部原理是把字符串for循环,取得每个字符作为列表的元素
#所以,数字类型不能转换为列表
str1="helloworld"
li=list(str1)
print(li)
返回结果:
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

s=123
li=list(s)
print(li)
返回结果:
TypeError: 'int' object is not iterable

#列表转换成字符串
#需要自己写for循环
#这适用于列表中元素有数字和字符串的混合
li=[123,444,"abc","qq"]
str1=""
for i in li:
str1+=str(i)
print(str1)
返回结果:
123444abcqq

#如果列表中只有字符串,没有数字,可以使用join方法
li=["abc","qq"]
str1="".join(li)
print(str1)
返回结果:
abcqq

####列表的方法####

1.append方法:在列表末尾追加

li=[11,22,33,44]
li.append(5)
print(li)
返回结果:
[11, 22, 33, 44, 5]

2.clear方法:清空列表

li=[11,22,33,44]
li.clear()
print(li)
返回结果:
[]

3.copy方法:列表拷贝

li=[11,22,33,44]
v=li.copy()
print(v)
返回结果:
[11, 22, 33, 44]

4.count方法:计算列表中某元素出现的次数

格式:必须给参数

  <list>.count(<元素>)

li=[11,22,33,22,44]
v=li.count(22)
print(v)
返回结果:
2

5.extend方法:传入可迭代参数,追加到列表中,与append方法的区别是extend方法迭代传入的参数,把每个值追加到列表中,而append方法不迭代,直接把参数放到列表中
格式:
    extend(<可迭代的对象>)
    可迭代的对象有:字符串、列表、元组、字典

#演示与append的区别
#append方法:作为一个整体追加
li=[11,22,33]
li.append([123,"QQ"])
print(li)
返回结果:
[11, 22, 33, [123, 'QQ']] #extend方法:迭代每个元素分别添加
li=[11,22,33]
li.extend([123,"QQ"])
print(li)
返回结果:
[11, 22, 33, 123, 'QQ'] li=[11,22,33]
li.extend("hello")
print(li)
返回结果:
[11, 22, 33, 'h', 'e', 'l', 'l', 'o']

6.index方法:返回列表元素出现的位置,如果有重复的列表元素,则只返回第1个找到元素位置
格式:
    index(<列表元素>)

li=[11,22,33,44]
v=li.index(33)
print(v)
返回结果:
2 li=[11,22,33,44,33]
v=li.index(33)
print(v)
返回结果:
2

7.insert方法:向列表中指定的位置添加元素
格式:
    insert(<位置>,<可迭代参数>)

li=[11,22,33,44,33]
li.insert(0,99)
print(li)
返回结果:
[99, 11, 22, 33, 44, 33]

8.pop方法:删除列表中指定位置的元素,不指定位置时默认删除最后一个元素,可以返回被删除的值
格式:
    pop([index])

li=[11,22,33,44,33]
v=li.pop()
print(li)
print(v)
返回结果:
[11, 22, 33, 44]
33 #删除指定位置的元素
li=[11,22,33,44,33]
v=li.pop(1)
print(li)
print(v)
返回结果:
[11, 33, 44, 33]
22

9.remove方法:删除列表中指定元素,如果有重复元素,则默认删除第1个
格式:
    remove(<value>)

li=[11,22,33,44,33]
li.remove(22)
print(li)
返回结果:
[11, 33, 44, 33] li=[11,22,33,44,33]
li.remove(33)
print(li)
返回结果:
[11, 22, 44, 33]

10.reverse方法:将列表进行反转

li=[11,22,33,44,33]
print(li)
li.reverse()
print(li)
返回结果:
[11, 22, 33, 44, 33]
[33, 44, 33, 22, 11]

11.sort方法:对列表中元素排序,默认升序,可以指定为降序

li=[11,44,22,33]
li.sort()
print(li)
li.sort(reverse=True)
print(li)
返回结果:
[11, 22, 33, 44]
[44, 33, 22, 11]

python之列表及其方法---整理集的更多相关文章

  1. python之集合及其方法---整理集

    集合的定义: 由不同元素组成.一组无序排列的可hash值.集合中元素必须是不可变类型 集合的定义方式: 由大括号组成: 每个元素用逗号分隔: 元素书写不是key-value形式: 集合是由不同元素组成 ...

  2. python之字典及其方法---整理集

    字典 特点: 使用逗号分隔的key:value形式: 使用大括号括起来: key-value的键值对中,value部分可以是任意类型: 列表.字典不能做为字典的key: 字典是无序的,哪个key-va ...

  3. python之元组及其方法---整理集

    元组: 区别:与列表类似,是对列表的二次加工:用小括号包括起来:元素不可修改:不可增加.删除 技巧:创建元组的时候,一般在最后一个元素后面加一个逗号:为了与方法区分:并且这个逗号不算元素例如: tu= ...

  4. python之字符串及其方法---整理集

    字符串方法 1.capitalize方法:字符串首字母大写 举例: test="alex" v=test.capitalize() print(v) 返回结果: Alex 2.ca ...

  5. Python List 列表list()方法

    Python基础数据类型之一列表list,在python中作用很强在,列表List可以包含不同类型的数据对像,同时它是一个有序的变量集合,每个变量可以存储一个地址.所有序列能用到的标准操作方法,列表也 ...

  6. Python循环列表的方法

    python循环列表的几种方法: 第一,依次打印列表中的各项值. 1 #!usr/bin/env python3 2 #!-*- Coding:utf-8 -*- 3 4 ''' 5 多种循环列表的方 ...

  7. python: 列表的方法

    操作 函数 使用方法 备注 索引 index in: example.index(‘creative’) --- 1 in:example[1,] --- [’creative’, [’京东’,996 ...

  8. python清空列表的方法

    1.大数据量的list,要进行局部元素删除,尽量避免用del随机删除,非常影响性能,如果删除量很大,不如直接新建list,然后用下面的方法释放清空旧list. 2.对于一般性数据量超大的list,快速 ...

  9. python中空列表判断方法总结,欢迎补充

    --代码-- if __name__ == '__main__': l = [] print(l.__len__() == 0) print(l.__sizeof__() == 40) print(l ...

随机推荐

  1. MYSQL登录函数(第3版本)

    已经改进 CREATE DEFINER=`root`@`%` FUNCTION `uc_session_login`( `reqjson` JSON, `srvjson` JSON ) RETURNS ...

  2. sql 存储过程和触发器

    mysql----------------------------------------------------------------------------------------------- ...

  3. homestead安装

    所谓Homestead,其实就是一个虚拟机镜像. 为什么用它?它的优点可以去自行百度.(虽然我还是用了集成环境 xampp,但是我还是不推荐的,特别是统一开发环境.或者去使用诸如Laravel的框架, ...

  4. 记录4-Ubuntu 16.04用gparted调整分区

    几天在安装双系统时,没注意居然把swap分区设置成了50G.今天才发现,于是用gparted重新分区. 1. sudo apt-get install gparted 2. 重新用u盘启动进入ubun ...

  5. idea springboot 父子工程 子工程maven不自动import

    父工程删除对spring boot启动项的引用,因为父工程 dependencyManagement,它不会自动加载包,只指定包的版本, 如果在父工程中引用了包,但是没有指定包版本,子工程将不会识别到 ...

  6. aptitude与apt-get的区别和联系

    aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具.与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些.举例来说,aptitud ...

  7. vue搜索功能

    <!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue测 ...

  8. Android 开发 启动activity并且将前面activity全部清空

    方法一: Intent intent = new Intent(A.this,B.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | I ...

  9. H5使用codovar插件实现支付宝支付(支付宝APP支付模式,前端)

    H5打包的app实现支付及支付宝支付,本章主要详解支付宝支付,微信支付请查看另一篇“H5使用codovar插件实现微信支付(微信APP支付模式,前端)” ps:本文只试用H5开发的,支付宝 APP支付 ...

  10. frist Django app — 五、Test

    Test——很重要但是没有被重视起来的一个环节,至少是我自己,其实自己之前在做java web的时候就去尝试过怎么做REST接口的测试,一直没有找到一种合适方式,而且因为时间紧没有进一步深究,但是造成 ...