Python基本数据类型之列表

栏目: Python · 发布时间: 5年前

内容简介:学习Python的列表类型需要了解和掌握什么是列表、列表的可变性、列表的访问、列表的增删改查等操作~1.了解列表2.列表的定义

学习 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**:将列表打乱;

以上所述就是小编给大家介绍的《Python基本数据类型之列表》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

测试驱动开发

测试驱动开发

Kent Beck / 孙平平、张小龙 / 中国电力出版社 / 2004-4-1 / 28.00元

《测试驱动开发》(中文版)设想把编程看成是转动曲柄从井里提一桶水上来的过程。如果水桶比较小,那么仅需一个能自由转动的曲柄就可以了。如果水桶比较大而且装满水,那么还没等水桶全部被提上来你就会很累了。你需要一个防倒转的装置,以保证每转一次可以休息一会儿。水桶越重,防倒转的棘齿相距越近。测试驱动开发中的测试程序就是防倒转装置上的棘齿。一旦我们的某个测试程序能工作了,你就知道,它从现在开始并且以后永远都可......一起来看看 《测试驱动开发》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试