python列表位置
‘壹’ python的数据类型——列表
python中列表是最常见的一种数据类型,下面我们来看看列表的基本用法吧
列表的表示:list=[ ] 用中括号表示 或者list()
列表的作用:存储多个数据的数据类型
列表可以存储多种数据类型,可以存储任何类型的数据
列表的操作
获取列表长度len()
获取某个元素可以使用索引,索引同字符串,从头开始就是0开始,从末尾开始就是-1
列表索引后得到的数据类型就是该元素本身的类型
切片后获取的数据还是列表
列表是可变类型:可以增加,修改和删除
列表的增加
1、列表的添加:列表最后添加一个元素 append
2、在指定位置添加索引:insert
3、同时添加多个元素:extend(相当于将两个列表合并)
列表的删除
1、删除指定的内容 remove(当列表中含有多个相同内容的元素,默认删除第一个)
2、删除指定的索引 pop
列表的修改
1、通过索引来修改
说完列表的几种操作,下面我们来看看这些操作打印出来的结果是什么:
none是一种数据类型,表示什么都没有,append得到的结果为none,remove得到的结果也是none.pop得到的结果是删除的那个元素
‘贰’ Python中的列表
列表(list)是Python中一个非常重要的类型,用于管理一组数据,列表的形式如下所示
country = ['China', 'Germany', 'Russia', 'America']
1)数据包含在引号中,Python中单引号和双引号具有相同的作用
2)使用逗号分隔数据,整个列表包含在一个中括号中
3)适用赋值操作符将一个列表赋值给一个变量名如上述例子中的“country”, Python的变量名不需要声明类型
country = []
列表不仅可以存放字符串这样的数据,还可以存放混合类型的数据,例如在列表中存储列表
除了列表外还可以存储字典和元组,字典和元组另作介绍
列表可以像数组那样通过下标获取列表中的数据,数据类型---字符串
列表可以适用冒号“:”操作符选取列表中的一部分数据,选取出的数据成为切片,实际上是字列表,但这些数据需要是连续的。
此外数据可以正向取如示例中的“0 : 2”得到列表['China', 'Germany'], 也可以反向取如“-2:-1”
需要注意的是即使切片只取一个数据得到的也是一个列表,而不是一个字符串,与使用索引得到的数据是不同的
添加数据可以使用 insert() 和 append() 两种方法,如下所示:
insert() 第一个参数确定插入的位置,在这个位置之后插入需要插入的数据, append() 将数据添加到列表的尾部
从列表中找出某个值第一个匹配项的索引位置
只能查找第一层数据,如果差列表中的列表,需要将列表全部输入。函数中的start和stop用于确定搜索范围
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
移除列表中某个值的第一个匹配项
反向列表中元素
对原列表进行排序
‘叁’ python 列表某一位置插入多个元素
1.要在列表 A 位置 i 插入多个元素,可以先用这些元素组成另一个列表 B,然后重组 A:
2.循环插入:
‘肆’ python 查看指定值在列表中的所有位置
a = [1,2,3,4,1,2,3,3,1,4,5]
for item in enumerate(a):
if item[1] == 1:
print item[0]
‘伍’ python怎么获取list的某个元素的位置
几种方式的回答:
1)
print('*'*15,'想找出里面有重复数据的索引值','*'*15)
listA = [100, 94, 88, 82, 76, 70, 64, 58, 52, 46, 40, 34,76]
print('列表中第1次出现的位置 = ',listA.index(76))
2)
a_list = ['a','b','c','c','d','c']
find = 'c'
print('重复元素出现的位置索引分别是 = ',[i for i,v in enumerate(a_list) if v==find])
-----------------------------------------------------
3)### 求某个元素重复的索引值,函数方式表述如下:
a_list = ['a','b','c','c','d','c']
def unique_index(L,f):
"""L表示列表, i表示索引值,v表示values,f表示要查找的元素 """
return [i for (i,v) in enumerate(L) if v==f]
print('索引值 = ',unique_index(a_list,'c'))
运行结果:
索引值 = [2, 3, 5]
4)还缺一种,列出多个元素重复的索引值,以后再补充
......
‘陆’ Python列表操作
1、append()
append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;
m.append(元素A)
2、extend()
extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;
m.extend([元素A,元素B,……])
3、insert()
insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。
m.insert(A,元素B):表示在列表m里面的第A+1处加入元素B
1、m.remove()
m.remove的作用是移除掉列表m里面的特定元素;
m.remove(元素A)
2、del m[n]
它的作用是删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种操作语句。
del m[n]
3、m.pop()
它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉
1、Temp=m[n]
获取m列表第n+位置处的元素
1、Temp=m[A:B]
表示将m列表里从索引号位置为A开始的元素到B-1处元素之间的列表获取赋给temp.
1、+:它主要实现的是多个列表之间的拼接
常见的列表操作符
2、*:主要实现的是列表的复制和添加
3、比较>,<:主要进行数据型列表的元素比较
4、and等:;逻辑运算符,可以进行列表之间的逻辑判断
1、m.count(A):输出元素A在列表m里面出现的次数
2、m.index(A):输出元素A在列表m里面的索引位置号
m.index(A,a,b):对于列表m里面包含多个元素A时,输出在列表m索引号a-b之间的特定索引号
3、m.reverse():将列表m进行前后的翻转,前变后,后变前
4、m.sort():将列表m里面地数据进行从小到大的排列
5、m.sort(reverse=True):将列表m里面地数据进行从大到小的排列
其实对于列表m里面的元素进行从大到小的排列还可以用以下方法:
N=m.sort()
N.reverse()
1) 深拷贝:
M=[A,b,a,c]
N=M[:]
2) 浅拷贝:
N=M
‘柒’ python怎么获取list的某个元素的位置
method1 全列表查询元素位置
列表元素位置查找最基础的方式就是全列表查询,在python中使用index可对列表进行对应的操作,指定查找的元素内容即可。但注意返回的是查找到的首个元素索引
指令形式
index = namelist.index(索引内容)
‘捌’ Python列表的常用操作- 查找方法【详细讲解】
列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查。
下面讲解的是对列表的查找操作,可以分为两种方法,一种是根据下标来进行查找,另外一种是根据查找函数来操作。
回忆一下知识点,之前讲过字符串的时候有说到下标,下标是计算机内存分配的从0开始的编号,目的是根据下标可以找到针对性的数据。列表也可以根据下标来找到数据,后面学习的元组同样也可以。
语法:
注意:如果以后都是用下标来查找数据,语法无非就是:序列名[下标]
快速体验:
打印结果如图:
语法:
快速体验:
执行结果如图:
注意:
语法:
快速体验:
注意 :
-- 2. 如果书写了开始和结束位置的下标,则在这个范围内查找,存在则返回开始位置的下标,如果查找的数据不存在则返回0;
语法:
注意: len()方法是一个公共的方法,无论是字符串、列表还是元组都可以使用
快速体验:
以上就是列表的4种查找方法,每个方法有自己的语法和作用,这个知识点属于 Python基础教程 范畴,所以学起来还是比较轻松地,大家主要多多练习记住函数以及使用方法即可。
‘玖’ Python 基础知识全篇-列表(Lists)
示例
列表是元素的集合,存储在一个变量中。列表中存储的元素类型没有限制,下面是列表的一个简单例子。
命名和定义列表
因为列表是对象的集合,所以给它们一个复数的名称是很好的做法。如果列表中的每一项都是一个 car, 就命名列表为 'cars'。这样给你了一种直接的方式代表列表('cars'),(’dog‘)指代列表项。
在 Python 中,用中括号定义一个列表。如下所示:
访问列表元素
列表中的元素通过位置来标识,从零开始。访问列表中的第一个元素,如下所示:
括号中的数字为列表的索引(index)。因为列表索引从0开始,列表元素的索引总是比它的位置小。因此 Python 被称为 zero-indexed 语言(诸如 C, java)。
因此访问第二个元素,我们需要用索引1,以此类推。
访问列表中最后一个元素
访问列表中的最后一个元素,可以用索引 -1。
访问倒数第二个,倒数第三个也可以用这种语法。
但是你不能用一个绝对值大于列表长度的负数访问。
动手试一试
First List
在列表中存储 'python','c','java'。利用它们的位置打印出列表元素值。
First Neat List
在列表中存储 'python','c','java',对每一项,打印一条关于它的语句。
你的语句可以简单的写成,'A nice programming language is value'。
Your First List
定义一个自己的列表,包含3或4个元素,打印一条至少包含一项元素的语句。你的语句可以简单的写成,'One item in my list is a__.'。
‘拾’ 四、 python中的数据类型——列表
列表是一种有序的集合,有点类似c里面的数组。它的特点是,可以随时向里面添加或删除其中的元素,在python中经常用来存放数据。列表的特点是中括号,内部元素用逗号隔开。
在这个列表中,可以放进去任何元素,不论你的元素是字符串、整型、浮点型、还是布尔值、空值,包括列表什么的,都可以放进去。
元素与元素之间,用逗号隔开。
列表会为每个元素分配序号,这个序号代表它的位置,称为索引(index),第一个元素的位置是0,第二个元素是1,以此类推。
使用索引获取列表中的值时,需要使用中括号来访问,在中括号前面加上列表名,中括号内部是元素的索引。
0代表第一个元素的位置,1代表第二个,-1代表倒数第一个,-2代表倒数第二个
使用 len() 函数,可以查看列表里面有多少个元素
在python中,列表的操作是非常的灵活的,我们可以向其中添加或删除元素。
添加使用 list.append() 函数
list.append() 函数是将元素插入到列表的末尾,当我们想在特定位置插入元素时可以使用 list.insert() 函数
list.insert() 函数接受两个参数,第一个参数是插入位置,第二个参数是要插入的元素。
需要注意的是,在使用append和insert时,必须在前面注明要操作的列表。就像上面的例子,我们要操作classmates这个列表,所以必须写成 classmates.append() 或 classmates.insert() ,如果不这么写,计算机就不知道你要往哪个列表中加入元素。
没有特殊情况的话,推荐使用append()函数添加元素,因为使用append的时候,元素默认加在列表尾部,不会造成其他元素索引值的改变。如果使用insert的话,就像上面的insert(1,'Tom'),在位置1插入'Tom'后,Tom后面所有的元素,索引值都加了一个1,列表中元素越多,受影响的程度越大,因此使用append()函数要比insert()函数更快。
删除列表中元素的方法有三种
del后面需要用索引的方式表明要删除的元素,也就是上面的例子,names[1]代表names中的第二个元素,使用del即可删除
list.pop() 函数与del差不多,都是使用索引值进行删除,只不过写法不同。
我们可以发现,执行 names.pop(1) 后,python shell打印出了第二个元素的值,也就是我们要删除的那个值,这是因为 pop() 这个函数,是有返回值的,有时候我们需要使用这个值,这个时候就可以用变量存起来。
这样我们就可以通过调用a而使用刚才删掉的元素了。
list.remove() 函数的作用是删除第一个匹配的元素,上面的例子中,names这个列表里面,有两个'Bob',remove函数只删除了第一个'Bob'。这就是 list.remove() 函数的特点。
有时候我们想使用列表的前10个元素,或者前n个元素,这时候就应该使用列表的切片。
切片和索引类似,都是使用中括号,区别是,索引中的中括号里面只有一个数,而切片不同。切片是切割列表,形成切割下来的部分形成新的列表。
切片: list[start:end:[step=1]] ,这就是切片的表达式,要求start和end两者必须有一个,step不是可以不指定,不指定的时候默认为1。
切片该怎么理解呢,start就是开始的位置,end就是结束的位置。切片有个特点是“取前不取后”,看上面那个例子可以发现,1作为start,3作为end,1代表第二个元素,3代表第四个元素,列表切片的时候,是不取后面的那个数字对应的元素的,也就是不取第四个元素,所以names[1:3]只取了第二个元素和第三个元素,这就是所谓的取前不取后。
再看下一个例子。
当不指定start或者end的时候,start默认为0,end默认为最后一个元素的索引值+1,因为“取前不取后”,要想取到最后一个元素,必须加个1才行。
上例中,用 len(numbers) 表示了最后一个元素的索引值,因为索引值从0开始,最后一个元素的索引值一定是列表内元素个数-1,根据“取前不取后”,在end位置上的数字应该+1,所以最后就等于 len(numbers) 了。
当不设定start和end的时候,就默认取所有的元素了。
当加入step,这个选项后,step代表步长,默认为1,设定成2的时候,就是隔一个取一个,设定成3时就是隔两个取一个。
上例中,第一个切片,start和end均未设定,因此从第一个元素开始,隔一个取一个,得到了所有奇数位置的元素。
第二个切片,start设定为了1,因此取了所有偶数位置的元素。
3在列表中,0不在列表中,所以 3 in a 是True,而 0 in a 是False
更多关于列表的信息可以通过使用 help(list) 查看帮助文档。