Python基础 04----列表

列表的使用

格式为 [元素1, 元素2, 元素3, …]

# 多个数据需要按照一定顺序要保存的时候,可以考虑用列表# [] 表示一个列表names = ['张三', '李四', '王五']# 使用list 内置类  list(可迭代对象)# 例如# a = list(('张三', '李四', '王五'))# print(a)# 和字符串一样,可以使用下标来获取列表里面的元素# 可以使用下标来修改 列表里面的元素# 列表是可修改的print(names[2])names[2] = 'jack'print(names[2])# 使用下标来进行切片print(names[1:2])

列表的增删改查

列表的操作,有序 可变的
增加 删除 修改 查询
增删改查

append 把新元素添加到列表的末尾

hero = ['李白', '韩信', '后裔', '李元芳']# 添加元素的方法# append insert extend# append 在列表的最后面追加一个数据hero.append('赵云')print(hero)

insert 在指定位置 index前插入元素object

# insert(index, object) 需要两个参数# index 表示下标,在那个位置插入数据# object 表示插入的数据hero.insert(2, '王昭君')print(hero)

extend 将另一个列表逐一添加到列表中

# extend(iterable) 需要一个可迭代对象# a.extend(b) 把b添加到a里面  b不变a = ['马克菠萝', '狄仁杰']hero.extend(a)print(hero)print(a)

删除数据的方法 pop remove clear

masters = ['王昭君', '妲己', '小乔', '貂蝉', '西施']# 删除 修改 查询# 删除数据的方法 pop remove clear# pop 默认会删除列表的最后一个数据,并且返回数据# pop(index) 传入索引 index 用来删除指定位置上的数据# x = masters.pop(2)# print(x)# print(masters)# remove  如果数据在列表中不存在 会报错masters.remove('王昭君')print(masters)# clear 用来清空一个列表masters.clear()print(masters)# 使用 del 也可以删除tanks = ['亚瑟', '程咬金', '盾山', '张飞', '廉颇','廉颇']# 查询相关的方法  index  元素不存在报错print(tanks.index('盾山'))# print(tanks.index('庄周'))print(tanks.count('廉颇'))# in 运算符print('庄周' in tanks)# 修改元素# 使用下标直接修改列表的元素

排序(sort, reverse)

nums = [6, 5, 8, 7, 3, 1, 2, 4]# 排序和反转# 调用列表的sort方法直接进行排序# 直接对列表进行排序# nums.sort()nums.sort(reverse=True)  # 反转print(nums)# sorted 不对原有列表进行改变,生成一个新的原有数据a = sorted(nums)print(a)# 使用内置函数 reversename = ['李四', '王五', '张三']name.reverse()print(name)# 使用切片[::-1]c = name[::-1]print(c)

列表的遍历

使用while/for in

# 将所有的数据访问一边 遍历针对的是 可迭代对象# while / for inkillers = ['李白', '兰陵王', '韩信', '孙悟空', '赵云']# for...in 循环是不断的调用迭代器 next查找下一个数据for k in killers:    print(k)i = 0while i < len(killers):    print(killers[i])    i  = 1

列表的嵌套

关键: 操作嵌套列表,只要把要操作的元素的下标当作变量名来使用即可

import randomteachers = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']rooms = [[], [], []]for teacher in teachers:    room = random.choice(rooms)    room.append(teacher)print(rooms)

列表的推导式

关键点:使用简单的语法创建列表

# 使用简单的语法创建列表# nums = [i for i in range(10)]# print(nums)## # 取所有的偶数# x = [i for i in range(10) if i % 2 == 0]# print(x)# points = [(x,y) for x in range(10) for y in range(10)]# print(points)# 生成1到100的数字m = [i for i in range(1, 101)]n = [m[j: j   3] for j in range(0, 100,3)]print(m)print(n)

列表的复制

列表里的copy方法

本质上是将原来的列表进行复制,变成新的列表(浅复制),修改新列表的数据并不会影响到原来的数据

import copyx = [100, 200, 300]y = x  # x赋值给y,这个时候x,y指向同一个内存地址# 使用内存空间不一样的  使用 copy 内容一样,指向的空间不一样z = x.copy()print(z)print(id(x))'''[100, 200, 300]25166320111362516630953344'''print(id(z))# 使用Python的方法a = copy.copy(x)  # 相当于浅拷贝b = x.copy()print(a)print(b)

copy模块的使用

浅拷贝:对一个对象的顶层拷贝,本质上是拷贝了引用,没有拷贝内容
浅拷贝只会拷贝最外层的对象,里面的数据不会拷贝,而是直接指向

import copywords = ['hello', 'happy', 'hey', [100, 200, 300], 'hi']# 浅拷贝  浅拷贝认为只拷贝了一层words1 = words.copy()print(words1)# 深拷贝words2 = copy.deepcopy(words)print(words2)

深拷贝:深拷贝是对于一个对象所有层次的递归拷贝

来源:https://www.icode9.com/content-1-800851.html

(0)

相关推荐

  • 【编测编学】零基础学python_07_列表(修改、添加和删除元素)

    你创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素.例如,你创建一个游戏,要求玩家射杀从天而降的外星人:为此,可在开始时将一些外星人存储在列表中,然后每当有外星人被射杀时,都 ...

  • Python|寻求两个数对之间的最大乘积

    问题描述 两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) . 例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * ...

  • UC头条:聊聊python中的list——基本操作

    在学习数据结构的时候,从老师和同学口中得知了python中用于实现线性表的list(列表).在查阅相关资料后,感觉这真是一个有趣又好用的数据结构.于是打算写几篇博客,加深对list原理和使用方法的理解 ...

  • 关于Python的基础语法

    Python简单易学,但又博大精深.许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉.学海无涯,我们先来了解一些Python中最基本的内容. 变量 Python ...

  • Python|列表与元组

    问题描述列表可以进行增删改查,但元组一经初始化后就不能再进行修改了,需要对增删改查进行掌握.解决方案列表创建只需要用逗号把不同的数据项分隔开即可,列表用的是"[]",而元组用的是& ...

  • RealPython 基础教程:Python 中的列表和元组

    列表(list)和元组(tuple)几乎可称得上是 Python 中最常用.最有用的数据类型了.在每个非简单的 Python 中,你都能发现它们的使用之处. 本文将介绍 list 和 tuple 的重 ...

  • 零基础学python,看完这篇文章,你的python基础就差不多了!

    Python基础语法 1. 认识Python 1.1 Python 简介 Python 的创始人为吉多·范罗苏姆(Guido van Rossum). Python 的设计目标: 一门 简单直观的语言 ...

  • Python可以开发IOS吗?Python基础!

    在大家的印象中,Python是一门应用领域非常广泛的编程语言,可以说无所不能,那么Python可以开发IOS或安卓APP吗?我想很多人都好奇这个问题,接下来我们一起来看看. 当然可以,Python是可 ...

  • 什么是Python表达式?Python基础入门

    初学Python的时候,大家都会接触到各种专业术语,比如说表达式.语句等,那么你知道什么是Python表达式吗?Python表达式由什么构成呢?想要知道,这篇文章你一定要看. Python表达式由什么 ...

  • 如何区分Python语句块?Python基础教程!

    说起Python语句块,大家有一个非常疑惑的问题,那就是Python如何区分不同的语句块?关于这个问题,小编通过下面这篇文章为大家介绍一下. Python是通过缩进格式来区分不同语句块的.Python ...

  • Python源程序执行方式是什么?Python基础分享!

    学习Python,我们需要掌握的知识点有很多,比如说源程序执行方式,那么你知道Python源程序执行方式有哪些吗?一般有三种方式,接下来我们一起来了解一下吧. Python源程序执行的方式有三种: 第 ...

  • 萌新入门之python基础语法

    首先我们先了解一些python最最基础的入门 1.标识符 定义:我们写代码的时候自己取得名字比如项目名,包名,模块名这些: 规范:1.数字/字母/下划线组成,不能以数字开头 2.起名字要见名知意  3 ...

  • Python做数据分析有哪些优势?Python基础!

    众所周知,可以用作数据分析的语言有很多,包含Python.R语言等,而且Python被誉为数据分析的一大利器,更是该领域的首选语言,那么用Python做数据分析有哪些优势呢?跟着小编往下看. 第一.P ...

  • Python可以开发网页吗?Python基础!

    什么是Python?Python是一种计算机程序设计语言,也是一种面向对象的动态类型语言,被用于独立的.大型项目的开发,可应用于各大领域.那么Python适合网页编程吗?我们一起来看看吧. Pytho ...

  • Python基础语法14个知识点大串讲

    来源:Python数据之道 Python基础语法大串讲 Python 是一门面向对象的编程语言,相信这篇文章对于初学者而言应该会有一个比较大的帮助,下面我们将 Python 中常用的基础语法和函数做了 ...