列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。例如:

 stus = ["zhangsan","lisi","wangwu","zhaoliu"]
nums = [2,4,5,7,3,6,9,12,34,23,33,454]
cities =["beijing","tianjin","henan",""]

第一个列表stus中有4个元素,分别是zhangsan、lisi、wangwu、zhaoliu,列表的索引也是从0开始,zhangsan的索引是0,lisi的索引是1,wangwu的索引是2,zhaoliu的索引是3,索引也可以用负数表示,最前面一个元素的索引是0,最后面一个元素的索引是-1;

1.访问list中的元素

使用下标索引来访问列表中的值,例如:

 stus = ["zhangsan","lisi","wangwu","zhaoliu"]
print(stus[3])

以上输出结果是:

zhaoliu

2.增加列表元素

(1)使用append()方法来添加列表项,其作用是在列表末尾增加一个元素,如下所示:

 cities= []   #  先定义一个空的list
cities.append("beijing") #在列表末尾增加一个元素
cities.append("tianjin")
print(cities) #以上运行结果是
['beijing', 'tianjin']

(2)使用insert()方法在列表指定的位置增加一个元素,如下:

 cities= ['beijing', 'tianjin']
cities.insert(0,"shanghai") #在列表索引为0的位置增加一个元素
print(cities) #以上代码运行结果是
['shanghai', 'beijing', 'tianjin']

3.删除列表元素

(1)使用pop方法删除指定位置的元素,例如:

 cities= ['beijing', 'tianjin',"henan","wuhan"]
cities.pop(0) #删除索引为0的元素
print(cities) #以上代码运行结果是
['tianjin', 'henan', 'wuhan']

(2)使用remove()方法删除指定的元素,例如:

 cities= ['beijing', 'tianjin',"henan","wuhan"]
cities.remove("beijing") #删除指定的元素
print(cities) #以上代码运行结果是
['tianjin', 'henan', 'wuhan']

(3)使用clear()方法清空列表,例如:

 cities= ['beijing', 'tianjin',"henan","wuhan"]
cities.clear()
print(cities) #以上代码运行结果是:
[] 列表被清空

 4.修改列表元素

修改列表元素时,需要使用指定元素的索引来进行修改,例如:

 cities= ['beijing', 'tianjin',"henan","wuhan"]
cities[1]="dongguan" #将索引为1的元素,修改为dongguan
print(cities) #以上代码运行结果是:
['beijing', 'dongguan', 'henan', 'wuhan']

字符串也可以使用下标进行取值,但是字符串是不可变量,不可以修改,例如:

 s = "xiehong"
print(s[0])
print(s[::-1])
s[2]="a"#这个运行会报错,字符串是不可变量,不可以修改 报错结果:
TypeError: 'str' object does not support item assignment

5.查看列表中的元素

(1)使用index()方法查找元素的索引,例如:

 cities= ['beijing', 'tianjin',"henan","wuhan"]
print(cities.index("henan"))#获取元素的下标,如果找不到那个元素的话,会报错
cities[1]="dongguan" #以上代码运行结果是:
2

(2)使用count()方法查看元素在列表中出现多少次,例如:

 cities= ['beijing', 'tianjin',"henan","wuhan","beijing","beijing"]
print(cities.count("beijing"))#查看元素在list里面出现多少次 #以上代码运行结果是:
3 # bejing这个元素在列表中出现了3次

(3)使用reverse()方法翻转列表,例如:

 cities= ['beijing', 'tianjin',"henan","wuhan"]
cities.reverse()#使用reverse方法翻转
print(cities) #以上代码运行结果是:
['wuhan', 'henan', 'tianjin', 'beijing']

(4)使用sort()方法对列表的元素进行排序,sort()方法的排序方法是升序排序,例如:

 nums = [2,4,5,7,3,6,9,12,34,23,33,454]
words = ["w","e","t","y","s","g","df","kea","a"] #字符串也可以安装首字母进行升序排序
words.sort()
nums.sort()
print(nums)
print(words) #以上代码运行结果是:
[2, 3, 4, 5, 6, 7, 9, 12, 23, 33, 34, 454]
['a', 'df', 'e', 'g', 'kea', 's', 't', 'w', 'y']

(5)使用sort(reverse=True)方法进行降序排序,例如:

 nums = [2,4,5,7,3,6,9,12,34,23,33,454]
words = ["w","e","t","y","s","g","df","kea","a"] #字符串也可以安照首字母进行降序排序
words.sort(reverse=True)
nums.sort(reverse=True)
print(nums)
print(words) #以上代码运行结果是:
[454, 34, 33, 23, 12, 9, 7, 6, 5, 4, 3, 2]
['y', 'w', 't', 's', 'kea', 'g', 'e', 'df', 'a']

 6.list切片操作

list中的元素都是有序的,所以在取出list中的元素时可以使用切片操作,例如:

(1)第一种取值方法:

 nums = ["baicai","luobo","xigua","lajiao"]
print(nums[1:3])#顾头不顾尾,从索引为1的地方取值,直到索引为3的地方,但不包括3 #以上运行结果是:
['luobo', 'xigua']

(2)第二种取值方法:

 nums = ["baicai","luobo","xigua","lajiao"]
print(nums[1:])#如果从某个下标开始,取到末尾结束 # #以上运行结果是:
['luobo', 'xigua', 'lajiao']

(3) 第三种取值方法:

 nums = ["baicai","luobo","xigua","lajiao"]
print(nums[:2])#如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写 # #以上运行结果是:
['baicai', 'luobo']

(4)第四种取值方法:

 nums = ["baicai","luobo","xigua","lajiao"]
print(nums[:])#取所有的 # #以上运行结果是:
['baicai', 'luobo', 'xigua', 'lajiao']

(5)根据步长取值:

 lis = list(range(1,21)) #生成0到20的list
print((lis[::2]))#2是步长,就是隔几个取一次的意思,如果步长是正数,是从左往右取值
print((lis[::-2]))#如果步长是负数,是从右边往左边取值 #以上运行结果是:
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19] #步长为正数的结果
[20, 18, 16, 14, 12, 10, 8, 6, 4, 2] #步长为负数的结果

再举出一个容易糊涂的取值,但是一般也不这么写,例如:

 lis = list(range(1,21)) #生成0到20的list
print(lis[:18:-1])#-1倒序,开头没有取值,所以默认从20往左取值,取到18的下标(19),但不顾尾,所以19不取 #以上运行结果是:
[20]

python的数据类型之列表list的更多相关文章

  1. Python特色数据类型(列表)(上)

    Python从零开始系列连载(9)——Python特色数据类型(列表)(上) 原创 2017-10-07 王大伟 Python爱好者社区 列表 列表,可以是这样的: 分享了一波我的网易云音乐列表 今天 ...

  2. python基本数据类型之列表和元组

    python基本数据类型之列表与元组 python中list与tuple都是可以遍历类型.不同的是,list是可以修改的,而元组属于不可变类型,不能修改. 列表和元组中的元素可以是任意类型,并且同一个 ...

  3. Python的数据类型2列表

    Python的数值类型List,也就是列表 Python的列表比较类似与其他语言的数组概念,但他又与其他语言数组的概念有很大的不同 C语言.Java的数组定义是这样的,存储多个同类型的数值的集合就叫数 ...

  4. Python - 基础数据类型 list 列表

    什么是列表 列表是一个有序的序列 列表中所有的元素放在 [ ] 中间,并用逗号分开 一个 列表 可以包含不同类型的元素,但通常使用时各个元素类型相同 特征 占用空间小,浪费内存空间少 声明列表变量 列 ...

  5. Python基础数据类型之列表和元组

    一.列表   list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...

  6. python基础数据类型--list列表

    列表: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex ...

  7. python 基础数据类型 之 列表

    列表:定义 和特性 列表定义和创建: 定义:[,]内以逗号分隔,按照索引,存放各种数据类型,一般没有限制,每个位置代表一个元素 range_create = list(range(0, 10))pri ...

  8. Python基本数据类型之列表

    学习Python的列表类型需要了解和掌握什么是列表.列表的可变性.列表的访问.列表的增删改查等操作~ 1.了解列表 list1 = ['abc', 123, {1, 2, 3},[2,3]] Pyth ...

  9. python基础数据类型之列表,元组操作

    一.列表的索引和切片1.列表的索引列表和字符串一样样拥有索引 lst = ["a","b","c"] print(lst[0]) # 获取第 ...

随机推荐

  1. hdp3.1 hive 3.0的使用记录

    近来在做项目中的技术调研,使用最新版的hdp3.1,其中使用spark2.3和hive 3.1. 遇到 一些问题,记录如下: 一,使用spark-sql client driver去访问hive创建的 ...

  2. 有限状态机FSM和层次状态机HSM

    前言 就单片机而言,程序可以分为两类:带操作系统的程序和前后台程序:前后台程序从架构上又分为顺序机和状态机. 广义地说, 任何一个程序都是一个状态机, 因为它总是要记住一些状态, 然后根据输入进行输出 ...

  3. 虚拟机中linux系统无法打开原保存的显示器配置解决方法

    刚刚学习Linux,于是在虚拟机上装了一个redhat,有一次关机的时候,很长一段时间都没有关闭,似乎是死机了,于是我就用任务管理器给强制关闭了.然后再次开启系统就出现了这个问题,如下图所示: 当时我 ...

  4. APP数据采集--基础配置

    一.首先需要下载fiddler,可以直接在官网下载最新版呢 二.设置允许抓取HTTPS数据: 打开已经下载好了的fiddler,打开在工具栏中的Tools,之后在HTTPS的工具栏下面进行如下的设置 ...

  5. SpringJDBC的使用(转载)

    转载自   https://www.yiibai.com/spring/maven-spring-jdbc-example.html 工具: eclipse4.7.2及mysql-8.0.13 项目最 ...

  6. form表单提交方式实现浏览器导出Excel

    刚开始使用ajax做Excel导出,发现ajax做不了浏览器导出只能下载到本地,于是用form提交可以提供浏览器下载Excel. 1>用ajax做本地下载: FileOutputStream f ...

  7. 洛谷$P2057\ [SHOI2007]$ 善意的投票 网络流

    正解:网络流 解题报告: 传送门! $umm$看到每个人要么0要么1就考虑最小割呗,,,? 然后贡献有两种?一种是违背自己的意愿,一种是和朋友的意愿违背了 所以考虑开一排点分别表示每个人,然后$S$表 ...

  8. HDU3886 Final Kichiku “Lanlanshu” 题解 数位DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3886 题目大意: 给一定区间 \([A,B]\) ,一串由 /, \ , - 组成的符号串.求满足符号 ...

  9. MacBook Pro 入手一年了,到底香不香?

    最近又有小伙伴问到底值不值得入手一台 MacBook Pro,松哥自己在 2018 年 10 月份的时候入手了一台,到现在为止,也用了一年多了,今天就来和小伙伴们聊一聊使用感受,至于到底值不值,需要大 ...

  10. forkjoin及其性能分析,是否比for循环快?

    最近看了网上的某公开课,其中有讲到forkjoin框架.在这之前,我丝毫没听说过这个东西,很好奇是什么东东.于是,就顺道研究了一番. 总感觉这个东西,用的地方很少,也有可能是我才疏学浅.好吧,反正问了 ...