python笔记--列表

列表list

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

一、定义列表

>>> list1=[‘a‘,‘b‘,‘c‘,1,2,3]
>>> list2=[‘a‘,‘b‘,‘c‘,[1,2,3]]

从上面两个列表,可以总结出列表的特点如下:

1.用中括号括起来,元素之间用逗号分隔。

2.字符串需要使用单引号,整数不用。

3.list里面的元素的数据类型也可以不同。

4.list元素也可以是另一个list。

二、列表的基本操作

#查看列表元素个数

>>> len(list1)
6

#用索引来访问列表中每一个位置的元素,索引是从0开始的

>>> list1[0]
‘a‘
>>> list1[1]
‘b‘
>>> list1[-1]
3
>>> list2[-1][0]
1

注意:最后一个元素的索引为-1,以此类推,倒数第二个的为-2……;索引是不能超出范围的否则会报一个IndexError错误。

#追加一个元素

>>> list1.append(4)
>>> list1
[‘a‘, ‘b‘, ‘c‘, 1, 2, 3, 4]

#删除指定内容的元素

>>> list1.remove(‘a‘)
>>> list1
[‘b‘, ‘c‘, 1, 2, 3, 4]

#根据索引删除元素,如果不指定索引,默认从最后一个开始删除。

>>> list1.pop(0)
‘b‘
>>> list1
[‘c‘, 1, 2, 3, 4]

#统计列表中相同元素的个数

>>> list1.count(1)
1

#统计指定元素的索引号

>>> list1.index(‘c‘)
0

#在指定索引的元素之后添加一个元素

>>> list1.insert(1,‘d‘)
>>> list1
[‘c‘, ‘d‘, 1, 2, 3, 4]

#倒序列表排序

>>> list1.insert(1,‘d‘)
>>> list1
[‘c‘, ‘d‘, 1, 2, 3, 4]

#正向排序元素

>>> list1.sort()
>>> list1
[1, 2, 3, 4, ‘c‘, ‘d‘]

#把一个列表扩展到另一个列表中

>>> list1.extend(list2)
>>> list1
[1, 2, 3, 4, ‘c‘, ‘d‘, ‘a‘, ‘b‘, ‘c‘, [1, 2, 3]]

#列表连接

>>> list1+list2
[1, 2, 3, 4, ‘c‘, ‘d‘, ‘a‘, ‘b‘, ‘c‘, [1, 2, 3], ‘a‘, ‘b‘, ‘c‘, [1, 2, 3]]

注意:列表中的元素没有发生变化

#清空列表

>>> list1=[]
>>> len(list1)
0

总结:

列表的索引号是从0开始的;

可以使用dir()查看列表的使用方法,括号中输入列表的名称;

使用help()查看操作的帮助,括号中输入”列表名.操作”,例如:

>>> help(list1.insert)
Help on built-in function insert:
 
insert(...)
L.insert(index, object) -- insert object before index

补充:

有时候我们需要将一个列表重新排序的结果定义给一个新的列表,而且不改变原列表,就用到了sorted()和reversed()

sorted()是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表,例如:

>>> a=[4,3,2,1]
>>> b=sorted(a)   #实现正向排序后定义给另一个列表
>>> b
[1, 2, 3, 4]
>>> a#列表a并没有发生变化
[4, 3, 2, 1]
 
>>> c=sorted(b,reverse=True)   #实现倒序排列后定义给另一个列表
>>> c
[4, 3, 2, 1]
>>> a
[4, 3, 2, 1]

reversed()也是python的一个内置函数,作用是返回序列的反向访问的迭代器,参数可以是列表,元组,字符串,不改变原对象,例如:

>>> a=[1,2,3,4]
>>> b=reversed(a)
>>> b
<listreverseiterator object at 0x0000000000602B00>  #b是一个迭代器
>>> c=list(reversed(a))  #实现反转一个列表的结果定义给另一个列表
>>> c
[4, 3, 2, 1]
>>> a
[1, 2, 3, 4]

 

三、切片

可以使用分片操作来访问一定范围内的元素。分片通过冒号隔开的两个索引来实现:

分片对于提取序列的一部分很有用。切片的原则是”取头不取尾”,即第一个索引是要提取的第一个元素的编号,而最后的索引则是分片之后剩余部分的第一个元素的编号。

例如:

>>> list2
[‘a‘, ‘b‘, ‘c‘, [1, 2, 3]]
>>> list2[1:3]
[‘b‘, ‘c‘]

如果不指定第一个索引,默认从头开始切取;如果不指定第二个索引,默认切到最后,例如:

>>> list2[:3]
[‘a‘, ‘b‘, ‘c‘]
>>> list2[2:]
[‘c‘, [1, 2, 3]]

#步长切片

进行分片的时候,分片的开始和结束需要进行指定,按照步长逐个遍历序列的元素,然后返回开始和结束点之间的所有元素。例如:

>>> list3=[0,1,2,3,4,5,6,7,8,9]
>>> list3[::2]
[0, 2, 4, 6, 8]
>>> list3[1::2]
[1, 3, 5, 7, 9]

 

练习

1.创建一个空列表

>>> lst1=[]

2.添加10个列表元素,包含字符串,数字

>>> lst1=[0,1,2,3,4,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]

3.从第5个索引号起插入5个元素

>>> lst1.insert(5,5)

>>> lst1.insert(5,6)

>>> lst1.insert(5,7)

>>> lst1.insert(5,8)

>>> lst1.insert(5,9)

4.分别用切片方法取出前5个,和后5个

>>> lst1[:5]

[0, 1, 2, 3, 4]

>>> lst1[-5:]

[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]

5.分别取出奇数项,和偶数项

>>> lst1.sort()

>>> lst1[::2]

[0, 2, 4, 6, 8, ‘a‘, ‘c‘, ‘e‘]

>>> lst1[1::2]

[1, 3, 5, 7, 9, ‘b‘, ‘d‘]

6.print出列表元素个数

>>> len(lst1)

15

7.删除某个元素

>>> lst1.remove(‘a‘)

8.删除列表最后一个元素

>>> lst1.pop(-1)

‘e‘

9.删除列表第5个元素

>>> lst1.pop(4)

4

时间: 2024-08-19 04:13:40

python笔记--列表的相关文章

Python笔记_01列表 和元祖

Python笔记 第一章 列表和元祖 1.通用序列操作 所有序列都可以进行某些特定操作,包括:索引(indexing).分片(slicing).加(adding).乘(multiplying)以及检查某元素是否属于列表成员. 迭代:依次对序列中的每个元素重复执行某些操作. 序列的索引:通过元素在列表中的位置可以定位到该元素,这就是列表的索引,使用类似于list[0]对元素进行索引,索引0指向第一个元素.也可使用负数对元素进行索引,使用负数对元素索引时,列表中的最后一个元素由-1表示,例如list

python笔记之列表和元组

pyhton的列表和元组,说白了其实就是一种数据结构,只是在python当中更加方便的去操作而已.. 1.序列 其实字符串就是采取序列的方式的: string = "hello" print string[0] 结果为:h 对比其他编程语言,python还有一个负值索引的概念: 序列的分片: first = [0,1,2,3,4,5,6,7,9] print first[1:6:2] 针对first[1:6:2]这条语句: 1代表的起始索引,不写,默认为0 6代表结束索引,不写默认为所

【Python笔记】第二课(二):列表

说明: Python中的列表类似于其它高级语言中的数组,不过Python的列表操作起来要轻松很多. Python中列表的学习主线主要是围绕对列表参数的操作使用上,重点关注的应该有如下这些: names.append( names.count( names.extend( names.index( names.insert( names.pop( names.remove( names.reverse( names.sort( 下面的内容基本上都是围绕上面的操作进行说明. 1.基本操作 ·基本的操

Python笔记_第一篇_童子功_5.Python数据类型之列表类型(list)

Python中序列是最基本的数据结构.序列中的每个元素都分配一个数字(他的位置或者索引),第一个索引是0,第二个索引是1,依次类推.Python的列表数据类型类似于C语言中的数组,但是不同之处在于列表数据类型可以包含任何类型的元素.列表示Python最常用的数据类型之一,他可以以作为一个方括号内的逗号分割值出现.像字符串一样也具有增删改查的操作.因此列表是一个有序集合. 注意:如果列表当中只有一个元素的时候,比如[12, ],需要加一个逗号.目的是一面误解成数学计算意义上的括号. 1.   列表

玩蛇(Python)笔记之基础Part3

玩蛇(Python)笔记之基础Part1 一.集合 1.set 无序,不重复序列 {}创建,直接写元素 2.set功能 __init__()构造方法,,使用强制转换就会调用此方法 1 set1 = {'year', 'jiujiujiu'} 2 print(type(set1)) 3 # 创建集合 4 s = set() # 创建空集合 5 li = [11, 22, 11, 22] 6 s = set(li) set 3.集合的基本操作 1 # 操作集合 2 s1 = set() 3 s1.a

Python笔记(四)

在<Python笔记(三)>中,我记录关于Python中序列问题的知识.个人觉得确实比Java中的集合框架简单.之前也说了,Python是一种高级面向对象的语言,它的每一个变量都称为对象.今天我接触了面向对象的编程.下面是这篇博客的目录: 1.类与对象 2.输入输出 3.异常 类与对象: 我们都知道面向对象的语言具备四个特性:抽象,继承,封装,多态.Java,C++是这样,Python也不例外.在Python中,我们定义一个类,使用关键字class.形式如下:class classname:.

整理python笔记

1.python笔记:while.if.for.编码 2.  模拟登陆 3.  python笔记:字符.列表.字典.元祖.数据类型

玩蛇(Python)笔记之基础Part2

玩蛇(Python)笔记之基础Part2 一.列表 1.列表 别的语言叫数组 python牛逼非要取个不一样的名字 1 age = 23 2 name = ["biubiubiu", "jiujiujiu", 22, age] 3 # namecopy = name 4 # namecopy.pop() 5 print(name) 6 # print(namecopy) List 2.列表取值 正常index 从零开始,,取倒数加负号 倒数第一就是[-1] 3.列表

智普教育Python视频教程之入门基础篇,python笔记

智普教育Python视频教程之入门基础篇,python笔记 print id()内存地址 type()变量类型 windows命令行下edit命令 python数据类型不需要指定类型 定义hostname="www.google.com" 结果运行后总是告诉我NameError: name 'socket' is not defined 哪位帮我分析一下,怎么改才对 没用过socket,不过你试着在第一行加入 import socket C:\>notepad somefile.