我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python学习之列表

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python学习之列表

序列是python的最基本数据结构,序列的每个元素都分配一个数字,它的索引,第一个是0,第二个是1,依次类推;
python的6个内建的序列分别是列表,元祖,字符串,unicode字符串,buffer对象和xrange对象;
序列通用操作包含:索引,长度,组合(序列相加),重复(乘法),分片,检查成员,遍历,最大值和最小值;

列表是python最常用的数据类型,使用方括号定义,元素之间使用逗号隔开;

1.定义一个列表

#定义一个空的列表
list1 = []
print(list1,type(list1))
#定义一个单值列表
list2 = ['hello']
print(list2,type(list2))
#定义一个普通列表
list3 = [1,'hello',[2,'world']]
print(list3,type(list3))
输出结果:
[] <class 'list'>
['hello'] <class 'list'>
[1, 'hello', [2, 'world']] <class 'list'>

2.列表的索引

list4 = [1,2,3,4,5,6]
print(list4[:])   #索引从0开始到索引值为列表长度结束
print(list4[:4])  #索引从0开始到4结束
print(list4[2:])  #索引从0开始到列表长度结束
print(list4[1:6:2]) #索引从1开始到6结束,步长为2
print(list4[::-1])  #将列表元素进行反转显示
输出结果:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4]
[3, 4, 5, 6]
[2, 4, 6]
[6, 5, 4, 3, 2, 1]

3.列表的增加

1.使用append()函数追加其他元素到列表里
list4.append(7)
print(list4)
list4.append('abc')
print(list4)
输出结果:
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7, 'abc']

3.2.extend()函数追加其他列表的元素到指定的列表;
list4.extend(list3)
print(list4)
输出结果:
[1, 2, 3, 4, 5, 6, 7, 'abc', 1, 'hello', [2, 'world']]

3.使用insert()函数为列表指定位置添加元素
list4.insert(2,'100')
print(list4)
输出结果:
[1, 2, '100', 3, 4, 5, 6]

4.列表的删除

1.remove()函数删除后列表的值进行改变
list4.remove('100')
print(list4)
list4.remove(5)
print(list4)
输出结果:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 6]

2.pop()函数删除指定索引值
list4.pop()        #默认情况下删除最后一个元素
print(list4)
list4.pop(-1)     #删除列表最后一个元素
print(list4)
list4.pop(1)      #删除列表索引值为2的元素
print(list4)
输出结果:
[1, 2, 3, 4]
[1, 2, 3]
[1, 3]

3.del()删除列表元素,也可以通过索引以及切片删除指定位置的元素
del(list4[0])
print(list4)
del(list4)  #将整个列表删除,输出值没有
print(list4)
输出结果:
[3]

4.clear()函数清空列表的元素,使之成为空元素
list5 = [9,8,7,6,5]
list5.clear()
print(list5)
输出结果:
[]

5.列表的修改

l1 = [0,1,2,3,4,5]
l1[3] = 'abc'
print(l1)
输出结果:
[0, 1, 2, 'abc', 4, 5]

l1 = [0,1,2,3,4,5]
l1[:3]='abcdef'
print(l1)
输出结果:
['a', 'b', 'c', 'd', 'e', 'f', 3, 4, 5]

6.列表的复制
在python中,对于复制问题,存在深拷贝和浅拷贝问题;两者的区别在于,从原来的列表里面复制出新的列表,修改其中的任意一个是否会对另外一个造成影响,即这两个列表在内存中是否存储在同一区域,这是区分深拷贝和浅拷贝的重要依据;
复制的愿望是复制的列表之间不会相互影响;

1.直接赋值方法,是一种非拷贝方法;
l1 = [1,2,3,4,5]
l2 = l1                  #将l1的值赋值给l2
print(l1,id(l1))
print(l2,id(l2))
#修改l1查看是否会影响到l2
l1.append(6)
print(l1,id(l1))
print(l2,id(l2))
输出结果:
[1, 2, 3, 4, 5] 7758408
[1, 2, 3, 4, 5] 7758408
[1, 2, 3, 4, 5, 6] 7758408
[1, 2, 3, 4, 5, 6] 7758408
修改l1导致l2也随之变化;

2.浅拷贝的方式
l2 = [1,2,3,'abc','efg']
l3 = l2.copy()
print(l2,id(l2))
print(l3,id(l3))
l2.append('hij')
print(l2,id(l2))
print(l3,id(l3))
输出结果:
[1, 2, 3, 'abc', 'efg'] 5136968
[1, 2, 3, 'abc', 'efg'] 5137032
[1, 2, 3, 'abc', 'efg', 'hij'] 5136968
[1, 2, 3, 'abc', 'efg'] 5137032

l2 = [1,2,3,'abc','efg']
l4 = l2[:]
print(l2,id(l2))
print(l4,id(l4))
输出结果:
[1, 2, 3, 'abc', 'efg'] 34807752
[1, 2, 3, 'abc', 'efg'] 33972808

3.深拷贝的方式
deepcopy()方法,无论多少层,无论怎样的形式,得到新的列表和原来无关;
使用该函数时需要导入copy模块;
import copy
l2 = [1,2,3,'abc','efg']
l3 = copy.deepcopy(l2)
print(l2,id(l2))
print(l3,id(l3))
l3.append('hij')
print(l2,id(l2))
print(l3,id(l3))
输出结果:
[1, 2, 3, 'abc', 'efg'] 31946504
[1, 2, 3, 'abc', 'efg'] 31945288
[1, 2, 3, 'abc', 'efg'] 31946504
[1, 2, 3, 'abc', 'efg', 'hij'] 31945288

7.列表的长度,重复,组合,成员操作以及遍历

l1 = [0,1,2,3,4,5]
l2 = [1,2,3,'abc','efg']
print(len(l2))
print(l1+l2)
print(l1*3)
print(5 in l1)
for i in l1:
    print(i)
输出结果:
5
[0, 1, 2, 3, 4, 5, 1, 2, 3, 'abc', 'efg']
[0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5]
True
0
1
2
3
4
5

8.反向列表中的元素

l1 = [0,1,2,3,4,5]
l1.reverse()
print(l1)
输出结果:
[5, 4, 3, 2, 1, 0]

9.列表的排序
列表的sort函数是按照ASSIC码进行排序

l2 = [1,7,3,9,8,5]
l2.sort()
print(l2)
l3 = ['a','f','r','d']
l3.sort()
print(l3)
l4 = [5,8,1,4,'c','f']  #列表的sort函数不支持整型和字符串的排序,不然执行会报错
l4.sort()
print(l4)
输出结果:
[1, 3, 5, 7, 8, 9]
['a', 'd', 'f', 'r']
报错:
TypeError: '<' not supported between instances of 'str' and 'int'

10.列表的zip()函数
zip()将多个序列中的元素配对,从而产生新的元组列表;zip可以接受任意数量的序列,最终得到的元组数量由最短的序列决定;

l1 = [1,2,3,4,5]
l2 = ['a','b','c','d','e']
l3 = [6,7,8,9,10]
l4 = zip(l1,l2,l3)
print(l4,type(l4))
for i in l4:
    print(i)
输出结果:
<zip object at 0x00000000021C7388> <class 'zip'>
(1, 'a', 6)
(2, 'b', 7)
(3, 'c', 8)
(4, 'd', 9)
(5, 'e', 10)

对于“已压缩的”(zipped)序列,对该序列进行解压(unzip,用*表示);就是将一组行转换为一组列

l4 = [(1, 'a', 6),(2, 'b', 7),(3, 'c', 8),(4, 'd', 9),(5, 'e', 10)]
n1,n2,n3 = zip(*l4)
print(n1)
print(n2)
print(n3)
输出结果:
(1, 2, 3, 4, 5)
('a', 'b', 'c', 'd', 'e')
(6, 7, 8, 9, 10)

列表作为栈使用

使用列表作为堆栈使用,最后一个插入,第一个先出,(后近先出)。要添加到堆栈的顶端使用append()函数,取出堆栈的第一个元素使用pop()函数;

l2 = ['abc',5,8,'efc']
l2.append(1000)
print(l2)
l2.pop()
print(l2)
输出结果:
['abc', 5, 8, 'efc', 1000]
['abc', 5, 8, 'efc']

列表作为队列使用

列表也可以用作队列,其中先添加的元素被最先取出 (“先进先出”);然而列表用作这个目的相当低效。因为在列表的末尾添加和弹出元素非常快,但是在列表的开头插入或弹出元素却很慢 ;
若要实现一个队列, collections.deque 被设计用于快速地从两端操作;

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python学习之列表

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python学习之列表

序列是python的最基本数据结构,序列的每个元素都分配一个数字,它的索引,第一个是0,第二个是1,依次类推;python的6个内建的序列分别是列表,元祖,字符串,unicode字符串,buffer对象和xrange对象;序列通用操作包含:
2023-01-31

python3学习之列表

列表:L.append(object)   追加备注:append将obj作为一个整体追加,无论obj是字符串、数字、字典、列表等,当是字典时全部插入,跟L.extend(iterable) 不同test = [1,2,3,4,5]test
2023-01-31

python学习--列表

一:定义python的列表对象是python中最通用的序列。列表是一个任意类型的对象的位置相关的有序集合,它没有固定的大小。通过对偏移量进行赋值以及其他各种列表的方法进行调用,确实可以修改列表的大小。二:列表的操作1:求长度>>> L=[1
2023-01-31

Python学习—列表练习

1.【项目:大奖赛计分】  在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。  【项目扩展1(选做)】大奖赛编的计分程序,成绩在0-10
2023-01-31

Python学习之day3数据结构之列表

数据结构之列表一、列表定义      列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。列表中的项目应包括在方括号中,这样python就是知道你是指名了一个列表。一旦你创建了一个列表,你可以添加、删除或者搜索列表中的
2023-01-31

python学习笔记---列表

列表属于python序列中的一种,属于可变序列,支持插入、删除和替换操作。1、定义列表:2、列表中元素的操作:    获取索引的元素 l[index]:    删除列表中指定索引的元素 del(l[index]):    修改指定元素l[i
2023-01-31

python学习--random和列表

import randomList = ['a','b','c','d'] First = raw_input("First :")for Item in List:        if First == Item:            
2023-01-31

Python学习小技巧之列表项的拼接

本文介绍的是关于Python实现列表项拼接的一个小技巧,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码:data_list = ['a', 'b', 'c', 'd', 'e', 'f'] separator = 't' da
2022-06-04

Python学习小技巧之列表项的排序

本文介绍的是关于Python列表项排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1:data_list = [6, 9, 1, 3, 0, 10, 100, -100] data_list.sort() pri
2022-06-04

python-字典与列表学习

#字典练习def print_dict(): contect_file = 'contect_list.txt' f = file(contect_file) #读取 contect_dic = {} for li
2023-01-31

python基础学习3----列表

一.字符格式化输出占位符 %s s = string 字符串           %d d = digit 整数           %f f = float 浮点数name = input("Name:")age = int(inpu
2023-01-30

python学习系列之python装饰器

一、常规的装饰器,比如 @auth,执行2步操作:1、执行auth函数,并传参func进来2、获取返回值,并赋值给被装饰器的函数的函数名(如让fetch_server_list等于返回值)二、而带参数的装饰器,比如 @auth(before
2023-01-31

python基础学习_目录列表

第一天: https://blog.51cto.com/xiong51/19622681.1 python版本1.2 python安装1.3 python解释器1.4 字符集1.5 运算符1.6 条件判断1.7 脚本示例第二天: https
2023-01-31

python列表(list)的简单学习

列表是由一系列按特定顺序排列的元素组成, 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表、字典(即嵌套)。用([])来表示列表,并用逗号(,)
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录