博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基本数据类型之列表
阅读量:6271 次
发布时间:2019-06-22

本文共 2734 字,大约阅读时间需要 9 分钟。

学习Python的列表类型需要了解和掌握什么是列表、列表的可变性、列表的访问、列表的增删改查等操作~

1.了解列表

list1 = ['abc', 123, {1, 2, 3},[2,3]]
  • Python中的列表有点类似与C语言中的数组的概念;
  • python中的列表是可变的,且列表内部由元素组成,元素可以是任意对象,也就是说列表的数据项不需要具有相同的类型,比如整形、浮点型、字符串、其他类的对象、实例等都可以作为列表的元素。

2.列表的定义

下面是4种定义列表的方法:

lst = list()  #定义一个空列表lst = []  #定义一个空列表lst = [1,2,3.5,'abc']  #元素可以是任意数据类型lst = list(range(10))  #定义一个从0到9的列表

3.列表的可变性

a = 1    print(id(a))    #输出:262330544    a = 2    print(id(a))    #输出:262330560
  • 列表的可变与不可变性,是对内存地址而言的;
  • 被初始化的列表,可以通过列表的API接口对列表的元素进行增删改查;

4.列表的访问

列表是有序集合,所以列表可以通过索引访问

lst = [1,2,3,4,5]  #初始化一个列表lst
  • 通过索引访问列表里面的值,列表名[索引大小](索引是从0开始计算的);
print(lst[1])  #输出2
  • 通过index方法获取值对应的索引,列表名.index(值);
print(lst.index(4))  #输出 3
  • 通过count方法获取值在列表中出现的次数,列表名.count(值);
print(lst.count(2))  #输出1
  • 通过len()函数获取列表的长度,len(列表名);

print(len(lst)) #输出5

#### **5.列表的插入**

lst = [1,2,3,4,5] #初始化一个列表

*   **append方法**:在列表的末尾插入数据;

lst.append(5)

print(lst) 输出[1, 2, 3, 4, 5, 5]

*   **insert方法**:在列表的任意位置插入数据;

lst.insert(0, 100)

print(lst) 输出[100, 1, 2, 3, 4, 5]

*   **extend方法**:添加可迭代对象的元素;

lst.extend(range(10))

print(lst) 输出[1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

*   `+`:叠加两个列表元素;

lst_new = lst + [1,2,3]

print(lst_new) 输出 [1, 2, 3, 4, 5, 1, 2, 3]

*   `*`:复制列表元素;

lst_new = lst * 3

print(lst_new) 输出 [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

#### **6.列表的删除**

lst = [1,2,3,4,5] #初始化一个列表

*   **remove方法**:移除从左自右的第一个匹配的元素;

lst.remove(3)

print(lst) 输出[1, 2, 4, 5]

*   **pop方法**:带值的情况下,移除指定索引的元素,在不带值的情况下,移除最后一个元素;

lst.pop(2)

print(lst) 输出[1, 2, 4, 5]

lst.pop()

print(lst) 输出[1, 2, 3, 4]

*   **clear方法**:清空整个列表;

lst.clear()

print(lst) 输出[]

#### **7.列表的排序**

lst = [1,2,3,4,5] #初始化一个列表

*   **reverse方法**:将列表中的元素反向;

lst.reverse()

print(lst) 输出[5, 4, 3, 2, 1]

*   **sort方法**:给元素排序,(注:reverse控制指定是正向还是反向,默认是False,代表升序);

lst.sort()

print(lst) 输出[1, 2, 3, 4, 5]

lst.sort(reverse=True)

print(lst) 输出[5, 4, 3, 2, 1]

*   **in 关键字**:判断元素是否在列表里面;

if 1 in lst:

print('yes')  输出yes
#### **8.列表的复制**

lst = [1,[1,2,3],3,4,5]

lst_new = lst.copy()

print(lst_new) #输出[1, [1, 2, 3], 3, 4, 5]

lst1 = 100

print(lst_new) #输出[1, [1, 100, 3], 3, 4, 5]

*   **浅拷贝**:如果改变原始列表的值,copy得到的新的列表的值会跟着改变;

import copy #导入一个copy模块

lst = [1,[1,2,3],3,4,5]

lst_new = copy.deepcopy(lst)

print(lst_new) #输出[1, [1, 2, 3], 3, 4, 5]

lst1 = 100

print(lst_new) #输出[1, [1, 2, 3], 3, 4, 5]

*   **深拷贝**:注意需要导入一个copy模块,深拷贝和前拷贝相反,如果改变原始列表的值,copy得到的新的列表的值并不会跟着改变;#### **9.random模块**

import random #导入random模块

print(random.randint(1,100)) #输出1到99中任意一个整数
print(random.choice(['x',3,5,7])) #输出这四个元素中的任意一个
print(random.randrange(1,100,2)) #输出1到99中的任意一个属于 2n+1 的值

lst = [1,2,3,4,5]

random.shuffle(lst) #将lst列表打乱
print(lst)

*   需要导入一个**random模块**;*   **randint**:取区间中任意一个值,注意区间是闭区间;*   **choice**:从给出列表中随机取一个值;*   **randrange**:左边是闭区间,右边是开区间;*   **shuffle**:将列表打乱;

转载地址:http://eqlpa.baihongyu.com/

你可能感兴趣的文章
input checkbox 复选框大小修改
查看>>
网吧维护工具
查看>>
BOOT.INI文件参数
查看>>
vmstat详解
查看>>
新年第一镖
查看>>
unbtu使用笔记
查看>>
OEA 中 WPF 树型表格虚拟化设计方案
查看>>
Android程序开发初级教程(一) 开始 Hello Android
查看>>
使用Gradle打RPM包
查看>>
“我意识到”的意义
查看>>
淘宝天猫上新辅助工具-新品填表
查看>>
再学 GDI+[43]: 文本输出 - 获取已安装的字体列表
查看>>
nginx反向代理
查看>>
操作系统真实的虚拟内存是什么样的(一)
查看>>
hadoop、hbase、zookeeper集群搭建
查看>>
python中一切皆对象------类的基础(五)
查看>>
modprobe
查看>>
android中用ExpandableListView实现三级扩展列表
查看>>
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>