返回顶部
首页 > 资讯 > 后端开发 > Python >Python 变量之列表与应用技巧
  • 320
分享到

Python 变量之列表与应用技巧

变量应用技巧列表 2023-01-31 02:01:21 320人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

洛琳的笔记Python 标准数据类型      python 定义了一些标准数据类型,用于存储各种类型的数据。Python有五个标准的数据类型,分别是:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dicti

洛琳的笔记


Python 标准数据类型

      python 定义了一些标准数据类型,用于存储各种类型的数据。Python有五个标准的数据类型,分别是:

  • Numbers(数字)

  • String(字符串

  • List(列表)

  • Tuple(元组)

  • Dictionary(字典)

       Python 中的变量赋值不需要类型声明,也就是说声明变量不需要使用关键字。Python 中变量赋值之后该变量就被创建。可以简单对单一变量赋值,亦可对同一变量重新赋值(不同数据类型也可以),也可以同时为多个变量赋值,如下。

counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
ame = 100 # ame 被定义为新的数据类型
ame1 = ame2 = ame3 = 100 #此三个变量被同时定义和赋值

Python 数据类型之列表


      Python的变量灵活多变,不同的变量类型也有不同的使用技巧。上述的五种标准变量类型中string, list, tuple 都属于序列(sequence)类型。Python内置共有6种序列类型变量,分别为:


str, unicode, list, tuple, buffer, xrange(range)

       其中只有一种可变序列类型,即List列表,其余的如tuple和range(关于xrange和range的区别,我会在以后总结介绍,或者可以在百度知道搜索#python for in原理#参考我的回答)都属于不可变的序列类型。这里所谓的"变" (mutable)是说,在对象创建之后,可以通过一些操作改变其内部状态,简言之就是改变对象本身。因为最近的工作遇到了很多关于列表的问题,今天我就借助这篇文章给大家介绍Python基本变量类型中的List,同时也给大家介绍一下List和Python内置函数相互配合的使用技巧。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


Python 列表赋值与快速赋值


        Python 列表使用方括号“[ ]”, 元素之间用逗号“,”分隔。列表元素的数据类型不限,可以是各种数据类型的集合,这点要比其他编程语言方便。列表元素个数不限,理论上只要内存足够大,元素个数就可以无限大。列表中的每个元素都分配一个数字作为索引,第一个索引值为0, 第二个为1,以此类推。List 列表普通赋值定义方法如下:

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

        然后就可以使用列表,但是在一些实际应用中需要初始化给定长度的列表,并对列表中每一个元素进行赋初值。如果列表长度在10以内,普通赋值依旧适用。如果列表长度过长,有可能需要写个循环进行赋值。技巧:可以使用下列方法对列表进行赋值:

>>> list1 = [0] * 5 # 数字类型
>>> list1 [0, 0, 0, 0, 0]
>>> list2 = [""] * 8 # 字符串类型
>>> list2 ['', '', '', '', '', '', '', '']
>>> list3 = [None] * 9 # 空
>>> list3 [None, None, None, None, None, None, None, None, None]
>>> list4 = [True] *7 # 布尔类型
>>> list4 [True, True, True, True, True, True, True]

        该方法快速高效,可以对指定长度的列表进行快速初始化,弊端在于不能在限定元素的类型,但可以按序混合元素的数据类型,如下:

>>> list5 = [True, ""] * 3
>>> list5 [True, '', True, '', True, '']


Python 的列表索引,切片,改变与排序


        Python 的列表索引方式和其他编程语言相似,即使用列表变量名,方括号与索引值进行索引。但Python与其他语言相比又有独特优势。即在方括号中使用冒号“”+“数字” 对列表进行切片。切片可以理解为:取列表中指定的连续元素。如下:

>>> List1 = ['Google', 'Runoob', 'Taobao']
>>> List1[2] # 取第二个
'Taobao'
>>> List1[-1] # 取倒数第一个
'Taobao'
>>> List1[1:] # 取 从索引1至最后一个 ['Runoob', 'Taobao']
>>> List1[:2] # 取 从开始至索引2
['Google', 'Runoob']

        Python 的列表是一个类的实例,也就意味着列表有自己的类方法。可以通过类方法对列表进行改变或者其他操作。常用类方法如下:

1    list.append(obj) # 在列表末尾添加新的对象
2    list.count(obj) # 某个元素在列表中出现的次数
3    list.extend(seq) # 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4    list.index(obj) # 从列表中找出某个值第一个匹配项的索引位置
5    list.insert(index, obj) # 将对象插入列表
6    list.pop(obj=list[-1]) # 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7    list.remove(obj) # 移除列表中某个值的第一个匹配项
8    list.reverse() # 反向列表中元素
9    list.sort([func]) # 对原列表进行排序

        在这里我给大家介绍一下列表操作中,倒序排列(revers)和整理排序(sort)的应用技巧。整理排序时,默认情况下,数字列表排序规则为:由小到大;字符串列表排列规则:由“0”到“10”,然后由a到z;数字和字符串混合型列表排序规则为:先数字,后字符。请参考下方例子:

>>> lt = ['a', 1, "c", 3, "b", 2]
>>> sorted(lt) # 使用内置方法
[1, 2, 3, 'a', 'b', 'c']
>>> lt ['a', 1, 'c', 3, 'b', 2]
>>> lt.sort() # 使用类方法
>>> lt [1, 2, 3, 'a', 'b', 'c'] >>>     
注意,sort() 为数据类型列表的类方法
sorted()为Python编程语言的内置函数

        由上述例子可知,使用Python内置函数,返回值为一个列表,使用列表的类方法则返回值为空。意思就是说:在整理排序时,内置函数不改变原始列表,而使用类方法则原始列表将发生变化。在处理某些问题的时候,我们需要保持原始列表不变,这时候就应该考虑,哪一种方法更合适。这样的情况在倒序排列的时候也会发生,使用reverse()类方法时,虽然得到了倒序排列的列表,但是列表本身发生了变化,为了避免类似情况发生,备份一下原始列表是一种方法,但是会比较复杂。在这里我给大家介绍一个实用技巧。我们可以通过一种特殊的列表切片方法直接生成出一个倒序排列的新的列表,请参考下方例子:

>>> lt = ['a', 1, "c", 3, "b", 2]
>>> lt[::-1] # 采用切片法
[2, 'b', 3, 'c', 1, 'a']
>>> lt ['a', 1, 'c', 3, 'b', 2]
>>> lt.reverse() # 采用类方法
>> lt [2, 'b', 3, 'c', 1, 'a']

      虽然python也有一个用于倒序排列的内置函数reversed(). 但是与sorted()函数不同,此函数返回值为一个列表迭(die)代器实例(iterator,以后的文章会详细介绍迭代器)而非一个新的列表,所以说用类似“[::-1]”的列表切片更为合适。


       Python编程语言还有一些其它的内置函数用于处理列表。比如:不同列表间比较cmp(list1, list2),获取列表长度len(list),最大值max(list)最小值min(list),将元素变为列表list(seq)等。

Tipp 1: 虽然list不是python的保留字符
可以用list作为变量名,而且不会产生错误。
但是还是不建议使用其作为变量名。

Tipp 2: 其实python还有其他的不经常用到
的内置函数:
用all(list)来检查列表中是否所有元素都
非空
用any(list)来检查列表中是否有任何一个


Python 列表数据类型转换和应用技巧


      列表数据转换问题,一般分为两种情况。列表中元素的数据类型转换问题和整个列表数据类型转换问题。


       列表元素数据类型转换,常见问题为数值类型和字符串类型间转换。例如将列表中的数字化字符串元素转换为数值类型元素,或反之; 或者将字符串列表的所有元素拼接,或反之。请参考下面例子。

>>> ll = [1, 2.3, 3.4, 4.5, 5.6] # 将数值型转换为字符
>>> ll [1, 2.3, 3.4, 4.5, 5.6]
>>> map(str, ll) ['1', '2.3', '3.4', '4.5', '5.6']
>>> ss = ['1', '2.3', '3.4', '4.5', '5.6']  # 将字符型转换为数值型
>>> map(float, ss) [1.0, 2.3, 3.4, 4.5, 5.6]
>>> tt = ["h", "e", "l", "l", "o"] # 元素拼合
>>> tt ['h', 'e', 'l', 'l', 'o']
>>> "".join(tt)
'hello'
>>> st = "hello"  # 字符串拆分
>>> list(st) ['h', 'e', 'l', 'l', 'o']

       列表整体式地数据类型转换,常见问题:将列表整体转换为一个字符串和将一个字符串中的列表部分转换为一个列表。第一种情况请参考下方例子:

>>> ss = ['a', 1, 'c', 3, 'b', 2]
>>> ss
['a', 1, 'c', 3, 'b', 2]
>>> str(ss)
"['a', 1, 'c', 3, 'b', 2]"

可以看出只需要使用python的内置方法str()就实现。可是如果是第二种情况呢?如果要将字符串化的列表转换为一个列表,千万不要使用内置函数list()。因为不会得到预期的结果,这里要使用内置函数eval()。参考下方代码:

>>> st = "['a', 1, 'c', 3, 'b', 2]"
>>> list(st) # 若使用list函数
['[', "'", 'a', "'", ',', ' ', '1', ',', ' ', "'", 'c', "'", ',', ' ', '3', ',', ' ', "'", 'b', "'", ',', ' ', '2', ']']
>>> eval(st) # 若使用eval函数
['a', 1, 'c', 3, 'b', 2]

       Python基本数据类型中的List列表和列表的使用技巧今天就介绍到这里。想比大家都有这样的印象:如果能合理并巧妙地使用python内置函数来处理列表,将能够大大减少代码数量和提高代码质量。如果大家有别的想法或者其他使用技巧。欢迎订阅我的个人微信公共号,留言分享。



请长扫描二维码订阅我的个人微信公众号。原创不易,多多点赞分享支持。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


--结束END--

本文标题: Python 变量之列表与应用技巧

本文链接: https://lsjlt.com/news/186817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 变量之列表与应用技巧
    洛琳的笔记Python 标准数据类型      Python 定义了一些标准数据类型,用于存储各种类型的数据。Python有五个标准的数据类型,分别是:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dicti...
    99+
    2023-01-31
    变量 应用技巧 列表
  • Python变量赋值策略与技巧:灵活应用的要点与方法
    灵活运用Python:掌握变量赋值的技巧与方法 【引言】变量是编程语言中非常重要的概念之一,它可以存储数据,并且可以根据需要进行修改和使用。在Python中,变量的赋值是一项基本操作,但是掌握一些灵活的技巧和方法可以提高编程效率...
    99+
    2024-01-20
    变量赋值技巧
  • Python技巧之变长和定长序列拆分
    目录1.元组拆分2.字符串拆分3.拆分时丢弃值4.嵌套序列拆分5.从任意长度的可迭代对象中拆分Python中的任何序列(可迭代的对象)都可以通过赋值操作进行拆分,包括但不限于元组、列...
    99+
    2024-04-02
  • python技巧 列表推导
    val = [expression for value in collection if condition]等价于val = []for value in collection:    if condition:        val.a...
    99+
    2023-01-30
    技巧 列表 python
  • python变量作用域与列表入门详解
    变量作用域 变量由作用范围限制 分类:按照作用域分类 全局(global):在函数外部定义 局部(local):在函数内部定义 变量的作用范围 全局变量:在整个全局...
    99+
    2024-04-02
  • Python学习小技巧之列表项的拼接
    本文介绍的是关于Python实现列表项拼接的一个小技巧,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码: data_list = ['a', 'b', 'c', 'd', 'e', 'f'] ...
    99+
    2022-06-04
    小技巧 列表 Python
  • Python学习小技巧之列表项的排序
    本文介绍的是关于Python列表项排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1: data_list = [6, 9, 1, 3, 0, 10, 100, -100] d...
    99+
    2022-06-04
    小技巧 列表 Python
  • python之变量与常量
    变量:把程序运行过程中产生的值,暂时存储在内存,方便后面的程序调用. 被引号括起来的内容是字符串,原样输出.#单行注释 用来标注代码信息,特点:被注释的内容不会被执行.Ctrl + /'''内容''' ->多行注释"""内容"""...
    99+
    2023-01-30
    常量 变量 python
  • Python知识之列表的十个小技巧分享
    目录一、提要    二、十个典型功能2.1 倒排列表  reverse()2.2 更换列表排列顺序 2.3 函数的生成器参数2.4 ...
    99+
    2023-01-04
    Python知识 Python列表 Python列表技巧
  • Python学习小技巧之列表项的推导式与过滤操作
    本文介绍的是关于Python中列表项的推导式与过滤操作的相关内容,分享出来供大家参考学习,下面来一起看看吧: 典型代码1: data_list = [1, 2, 3, 4, 0, -1, -2, 6, ...
    99+
    2022-06-04
    小技巧 操作 列表
  • Python中的字典合并与列表合并技巧
    目录前言1 合并字典2 合并列表前言 又到了每日分享Python小技巧的时候了,今天给大家分享的是Python中两种常见的数据类型合并方法。 1 合并字典 在某些场景下,我们需要对两...
    99+
    2024-04-02
  • python如何分配列表变量
    这篇文章主要介绍了python如何分配列表变量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。分配列表变量在Python中我们可以将列表的值分...
    99+
    2024-04-02
  • Python跨文件全局变量的使用技巧
    尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖。 Python 中global关键字可以定义一个变量...
    99+
    2024-04-02
  • 如何在python中使用变量和列表
    如何在python中使用变量和列表?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面...
    99+
    2023-06-14
  • 有哪些高级的Python列表使用技巧
    本篇内容介绍了“有哪些高级的Python列表使用技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、使用Python过滤列表1.使用Fil...
    99+
    2023-06-16
  • Python小技巧 3:列表项的排序
    典型代码1: data_list = [6, 9, 1, 3, 0, 10, 100, -100] data_list.sort() print(data_list)输出1: [-100, 0, 1, 3, 6, 9, 10, 10...
    99+
    2023-01-31
    小技巧 列表 Python
  • Python之全局与局部变量
    ''' 命名空间 : 每次在python解释器启动之后,就会在内存开辟一块内存空间,每当遇到一个变量时,就会在命名空间中,记录下变量名和值之间的关系,也即记录变量对应的值在内存空间中的            地址;当一个函数时,会在命名空间...
    99+
    2023-01-31
    全局 变量 局部
  • ASP 变量与数据类型使用技巧:提升代码质量
    ...
    99+
    2024-04-02
  • PHPcms列表页模板设计与优化技巧
    PHPcms列表页模板设计与优化技巧 在网站开发中,列表页是非常常见的页面类型,它展示了一系列内容的摘要信息,比如文章列表、产品列表等。而在使用PHPcms这样的内容管理系统时,对列表...
    99+
    2024-03-14
    php 模板 cms 异步加载
  • Python技巧之四种多线程应用分享
    目录1.使用threading模块2.使用concurrent.futures模块3.使用multiprocessing模块4.使用asyncio模块在Python中,多线程是实现并...
    99+
    2023-05-12
    Python多线程应用 Python多线程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作