Python数据类型-4 列表

列表

列表是Python中最基本也是最常用的数据结构之一。列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所排在的位置。第一个元素的索引是0,第二个索引是1,依此类推。

Python的列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。

从数据结构角度看,Python的列表是一个可变长度的顺序存储结构,每一个位置存放的都是对象的指针。

对于这个列表 alist = [1, “a”, [11,22], {“k1”:”v1”}],其在内存内的存储方式是这样的:

创建方式
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

['1',2,'hello']  # 列表
('1',2,'hello')  # 元组
{'1',2,'hello'}  # 集合
{'name':'juran','age':18}

for i in ['1',2,'hello']:
    print(i)

# 通过查看源码来看创建的方法
l = list(['1',2,'hello'])
print(l)

l = [1, 2, 3]
l1 = [1, 'hello', 1.2]
print(l1)
-------------------------------------------------
list = []       # 定义空列表
list1 = ['physics', 1997, 2000]
list2 = [1, 2, 3]
list3 = ["a", "b", "c"]

访问列表内的元素
列表从0开始为它的每一个元素顺序创建下标索引,直到总长度减一 。要访问它的某个元素,以方括号加下标值的方式即可。注意要确保索引不越界,一旦访问的 索引超过范围,会抛出异常。所以,一定要记得最后一个元素的索引是len(list)-1。

>>> lis = ["a", "b", "c"]
>>> lis[0]
'a'
>>> lis[1]
'b'
>>> lis[2]
'c'
>>> lis[3]
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    lis[3]
IndexError: list index out of range

修改元素的值
直接对元素进行重新赋值。

>>> lis[0]
'a'
>>> lis[0] = "d"
>>> lis[0]
'd'

删除元素
使用del语句或者remove(),pop()方法删除指定的元素。

>>> lis = ["a", "b", "c"]
>>> del lis[0]      # 根据索引删除
>>> lis
['b', 'c']
>>> lis.remove("b") # 直接根据值进行删除
>>> lis
['c']
>>> lis.pop()       # 弹出最后一个
'c'
>>> lis
[]

l1 = [1, 'hello', 1]

l2 = l1.pop(1)  # 根据索引来弹出 1为索引
print(l2)

列表的特殊操作

语句                          结果                              描述
[1, 2, 3] + [4, 5, 6]          [1, 2, 3, 4, 5, 6]               组合两个列表
l1 = [1, 2, 3]
l2 = [4, 5, 6]
print(l1.__add__(l2))  # 底层调用了__add__方法

['Hi!'] * 4                   ['Hi!', 'Hi!', 'Hi!', 'Hi!']       列表的乘法
l1 = [1, 2, 3]
print(l1.__mul__(3))

3 in [1, 2, 3]                 True                            判断元素是否存在于列表中
l1 = [1, 2, 3]
print(l1.__contains__(1))

for x in [1, 2, 3]: print x,    1 2 3                           迭代列表中的每个元素

列表的常用函数

l1 = [1, 2, 3]
函数        作用
len(list)   返回列表元素个数,也就是获取列表长度 l1.__len__()
max(list)   返回列表元素最大值  max(l1)  max(1,2,3,4)
min(list)   返回列表元素最小值
list(seq)   将序列转换为列表

>>> s = list((1, "a", "b", 2))
>>> s
[1, 'a', 'b', 2]
>>> max(s)          # 不能混合不同类型进行最大最小求值
Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    max(s)
TypeError: '>' not supported between instances of 'str' and 'int'

排序和反转

list.reverse()  将列表反转 修改本身 *IN PLACE*
list.sort()     排序,默认升序
如果列表内的元素全为数字,或者字母排序没有问题。
如果字母和数字都有的情况下,排序会报错
list.sort(reverse=True)     降序排列

切片--也叫截取
切片指的是对序列进行截取,选取序列中的某一段。

切片的语法是: list[start:end]

以冒号分割索引,start代表起点索引,end代表结束点索引。省略start表示以0开始,省略end表示到列表的结尾。注意,区间是左闭右开的!

如果提供的是负整数下标,则从列表的最后开始往头部查找。例如-1表示最后一个元素,-3表示倒数第三个元素。

切片过程中还可以设置步长,以第二个冒号分割,例如list[3:9:2],表示每隔多少距离取一个元素。

l3 = ['a','b','c','d','e','f']
print(l3[1])
print(l3[2])
print(l3[1:3])
print(l3[:3])
print(l3[2:])
print(l3[:])        # 复制列表
print(l3[::2])      # 隔一个一取

a[-1]       8
a[-5:]      [4,5,6,7,8]
a[::-1]     想当于逆序输出 [8, 7, 6, 5, 4, 3, 2, 1]
a[1:5:2]    [2,4]

多维列表(嵌套列表)

a = [[1,2,3],[4,5,6],[7,8,9]]
a[0][1]
2
a = [[1,2,3],[4,5,6],{"k1":"v1"}]
a[2]["k1"]
v1

列表的遍历
列表有好几种遍历方式:

a = [1,2,3,4,5,6]
for i in a:             # 遍历每一个元素本身
    print(i)
for i in range(len(a)):     # 遍历列表的下标,通过下标取值
    print(i, a[i])
x = 9
if x in a:      # 进行是否属于列表成员的判断。该运算速度非常快。
    print("True")
else:
    print("False")

列表的内置方法

方法              作用
append(obj)     在列表末尾添加新的对象
count(obj)      统计某个元素在列表中出现的次数
extend(seq)     在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
index(obj)      从列表中找出某个值第一个匹配项的索引位置
insert(index, obj)  将对象插入列表
pop(obj=list[-1])   移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
remove(obj)      移除列表中某个值的第一个匹配项
reverse()       反向列表中元素
sort([func])     对原列表进行排序
copy()          复制列表
clear()         清空列表,等于del lis[:]

注意:其中的类似 append,insert, remove 等方法会修改列表本身,并且没有返回值(严格的说是返回None)。

原文地址:https://www.cnblogs.com/sakura579/p/12243500.html

时间: 2024-11-08 10:41:56

Python数据类型-4 列表的相关文章

python 数据类型 序列——列表

python 数据类型 序列--列表 **列表** list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 列表是可变类型的数据. 用[]表示列表,包含了多个以逗号分割开的数字或者字符串. >>> list1 = ['1','chen','陈'] >>> list2 = [1,2,3,4] >>> list3 = ["str1","str1","22"] >>

Python 数据类型之列表和元组

Python 数据类型之 列表和元组 Python 根据每个变量的初始赋值情况分析其类型,并在内部对其进行跟踪 内置数据类型Booleans [布尔型] True[真] 或 False [假]Numbers [数值型] Integers[整数] Float[浮点数] Fractions[分数] Complex Number[复数]Strings [字符串型] Unicode 字符序列Bytes [字节] 和 Bytes Arrays [字节数组]Lists [列表] 是值的有序序列Tuples

DAY4 Python数据类型之列表

一.列表 列表:列表是由一系列按照特定顺序排列的元素组合.列表相当于一个容器,里面可以存储python的任意数据类型,在别的语言中又称为数组. 一.  创建数组 li = ['python',100,'java','c++'] str_list = ['c'*3] ----> ['c','c','c'] #谨记:是把字符串变成三个,而不是"ccc" str_list = [['c'] * 3] ----> [['c','c','c']] #谨记:列表*3,是把列表中的元素重

分分钟钟学会Python - 数据类型(列表、元祖)

第四节 数据类型(列表.元祖) 今日内容 列表 元祖 1.列表 1.格式 users = ["ji",1,3,"gyhj"] 2.公共方法 1.len #计算长度 users = ["ji",1,3,"gyhj"] val = len(users) print(val) # 3 2.索引 #输出某一个元素 users = ["ji",1,3,"gyhj"] val = users[1]

python数据类型:列表、元组、字典、集合

列表 一.列表基础  前言: 数组:把一堆同类型的数据挨个放在一起 列表:把一堆任意类型的数据挨个放在一起(基于变量没有类型,列表中的数据也没有类型的) 语法: list名=[value1,value2,value3,.....] 1.中括号 :2.数据间用逗号隔开; 特点:有序,数据可重复,数据类型可以不一致,可嵌套使用 示例: list=[1,'22',"龙猫",3.14]    #各种数据类型 list=[1,'22',"龙猫",3.14,[1,2,3]]  

python 数据类型 变量 列表 元组 字典 集合

Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等. 浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等

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

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

python数据类型之列表,元组,字典

pop  按照 索引 删 remove  按照 元素 删 列表 可变 元组 不可变,切片是一种读操作.与 元组 相关的操作比 列表 少很多. 元组下的列表内的东西是可以改变的,元组下的列表作为一个整体是不可改变的. 元组  列表在应用中的区别? 身份比较,类型比较,值比较x=1y=1x is y #x与y是同一个对象,is比较的是id,即身份type(x) is type(y) #对象的类型本身也是一个对象,所以可以用is比较两个对象的类型的身份x == y #==比较的是两个对象的值是否相等

Python基础-python数据类型之列表(四)

列表 格式 namesList = [ 字符串,数字,列表,元祖,集合] 列表中的元素可以是不 同类型的 列表的相关操作 列表中存放的数据是可以进行修改的,比如"增"."删"."改"" <1>插入元素("增") Append(元素):在列表尾部追加一个元素 Extend (列表对象):通过附加迭代元素来扩展列表 Insert(索引,元素) 在索引之前插入对象 1 list1=[1,2,3,4] 2 lis

Python数据类型(列表和元组)

1.3 List(列表) 列表由一系列按特定顺序排列的元素组成. 在Python中,用方括号[ ]来表示列表,并用逗号来分隔其中的元素. 1.3.1 访问列表元素 在Python中,第一个列表元素的索引为0,而不是1. >>> bicycles = ['trek', 'cannondale', 'redline', 'specialized'] >>> print(bicycles[0]) trek >>> print(bicycles[3]) spe