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

Python_实用入门篇_08

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

Python_实用入门篇_08

Python序列内置类型之列表类型详解 


1.Python序列概念

    数学上,序列是被排成一列的对象(或事件)这样每个元素不是在其他元素之前,就是在其他元素之后。这里,元素之间的顺序非常重要。序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字,也就是它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 

 

2.Python中属于序列的内置类型种类

    Python有6个序列的内置类型(列表、元组、字符串、Unicode字符串、buffer对象、xrange对象),但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。

3.Python的列表操作

      1.创建一个列表(创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,里面的元素可以是列表,数字或者字符串等等)

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

     2.索引(使用下标索引来访问列表中的值)

list1 = [1, 2, 3, 4, 5, 6, 7 ]
print(list1[0])

     3.列表元素增删操作(有.append()方法,.pop()方法,.remove()方法,.del()方法,还有一些方法在下面表里,自己查哦)

list = []          ## 空列表
list.append("red")
list.append("Molly”) ## 使用 append() 添加元素 print(list) >>>[“red”,"Molly"]

list.pop()#移除列表中的一个元素(如果括号参数为空,则默认删除最后一个元素),并且返回该元素的值
print(list)
>>>["red"]

list.remove("Molly")#删除列表中的具体元素
print(list)
>>>[]

list = ["red","molly"]
del list[1]
print(list)
>>>["red"]

注意:如果用.remove方法删除列表中具体元素,列表中有重复的元素,默认删除第一个。

    4.Python列表脚本操作符(和字符串操作类似)

Python 表达式 结果 描述
len([1, 2, 3]) 3 长度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print x, 1 2 3 迭代

    5.Python列表截取(切片操作)

         分片使用2个冒号分隔的3个数字来完成:[start:end:step],start:end表示从哪里切到哪里,比如创建一个列表[1,5,7,8,10],切片操作[1:3],就表示从列表的第1位截取到第三位,切片后列表为[5,7,8]。step表示要切的步长,如果step为2,切出来的列表就是[5,8]。

L = ['cdx', 'Red', 'molly']
print(L[2])
>>>'molly'
print(L[-2])
>>>"Red"
print(L[1:])
>>>['Red', 'molly']

 注意:列表里 a 与 a[:] 不同。可以通过函数 id() 查看。简单来说,a[:] 是创建 a 的一个副本

4.Python列表函数&方法

Python包含以下函数:

序号 函数
1 cmp(list1, list2)
比较两个列表的元素
2 len(list)
列表元素个数
3 max(list)
返回列表元素最大值
4 min(list)
返回列表元素最小值
5 list(seq)
将元组转换为列表

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([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj)
移除列表中某个值的第一个匹配项
8 list.reverse()
反向列表中元素
9 list.sort(cmp=None, key=None, reverse=False)
对原列表进行排序

4.Python列表补充的一些高级用法及操作

1.Python创建二维列表(一个大列表里嵌套许多一维列表为二维列表),在这里给大家普及高级用法,列表推导式。

列表推导式:快速生成一个列表的方法,从右向左看,循环语句执行完后,返回i到列表,看不懂没关系,后面博主讲完高级Python你就懂了。

#列表推导式用法
#if写在前面
c = [i if i%2==0 else 1 for i in a]  //遍历a的每个元素,如果i为偶数直接返回,否则直接返回1。此处if写在for前面要求必须有else项
a = [1,2,3]
c = [i if i%2==0 else 1 for i in a]
print(c)
>>>[1, 2, 1]
#if语句写在末尾
a = [1,2,3]
c = [i for i in a if i%2==0]#if条件在末尾,只筛选出符合条件的数字
print(c)
>>>[2]

二维列表创建:

#方法1是直接定义二维列表
list1 = [[0, 0, 0, 0, 0, 3, 5], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
#方法2是使用列表推导式
list2= [ [0 for i in range(5)] for i in range(5)]
print(list)
>>>[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

2.将列表中的所有元素组合成字符串

"".join()操作,此操作可以将列表中的元素取出并组合成字符串。括号里的参数是列表名。""引号中传入的是以何种字符连接。

a = ["cdx","is","Redmolly"]
print(" ".join(a))
>>>cdx is Redmolly
print("-".join(a))
>>>cdx-is-Redmolly

3.查找列表中频率最高的值

需要用到Python标准库——collections模块的Counter类,Counter类的目的是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value。计数值可以是任意的Interger(包括0和负数)。Counter类和其他语言的bags或multisets很相似。这里不懂真没关系,等你看完字典和模块和类就懂了。

Counter的创建:

c = Counter()  # 创建一个空的Counter类
c = Counter('gallahad')  # 从一个可iterable对象(list、tuple、dict、字符串等)创建
c = Counter({'a': 4, 'b': 2})  # 从一个字典对象创建
c = Counter(a=4, b=2)  # 从一组键值对创建

计数值访问:

c = Counter("abcdefgab")
print(c["a"])
>>>2
print(c["c"])
>>>1

Counter类中的most_common([n])方法:返回一个TopN列表。如果n没有被指定,则返回所有元素。当多个元素计数值相同时,排列是无确定顺序的。(看例子就懂)

c = Counter('abracadabra')
print(c.most_common())
>>>[('a', 5), ('r', 2), ('b', 2), ('c', 1), ('d', 1)]
print(c.most_common(3))#返回前三个键值对
>>>[('a', 5), ('r', 2), ('b', 2)]

查找列表中频率最高的值:

利用collections.Counter类
words = ['look', 'into', 'my', 'eyes', 'look', 'into',
'my', 'eyes', 'the', 'eye', 'the', 'eyes', 'not',
'around', 'the', 'eyes', "don't", 'look', 'around',
'the', 'eyes', 'look', 'into', 'my', 'eyes', "you're",
 'under']
from collections import Counter
word_counts = Counter(words)
print(word_counts.most_common(3))
>>>[('eyes', 6), ('look', 4), ('the', 4)]

4.复制列表

copy函数:复制一个列表,用法如下:

name = ["red","molly"]
name_copy = names.copy()
print(name,name_copy)
>>>["red","molly"]["red","molly"]

5.移除列表重复项(只讲最简单的Python原生方法,其他的需要你自己动脑筋)

方法1,利用python中集合元素唯一性特点,将列表转为集合,将转为列表返回:

这里简单介绍下集合,明天再详细讲Python集合:集合(set)是一个无序不重复元素的序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建集合:

#法1创建
parame = {value01,value02,...}
#法2创建
set(value)

移除列表重复项:

def deleteDuplicated(listA):
    return sorted(set(listA),key = listA.index)
listA = deleteDuplicated([3,5,3,4,7])
print(listA)

6.查询N维列表的所有项(这个的难度在于,你要搞懂内嵌列表的索引)

 

moves = ["冰雪奇缘","变形金刚",["公主","擎天柱",["王子","威震天"]]]
def print_lol(the_list):
    for each_item in the_list:
        if isinstance(each_item,list):
            print_lol(each_item)
        else:
            print(each_item)
print_lol(moves)

 

 


 

PS(高级内容看不懂没关系,之后退回来看就好了,关于序列类型的相互转换,等介绍完所有的序列类型后再来总结!一定要自己自己敲代码啊)

 

 

 

 

 

 

 

 

 

 

 

免责声明:

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

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

Python_实用入门篇_08

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

下载Word文档

猜你喜欢

Python_实用入门篇_08

Python序列内置类型之列表类型详解 1.Python序列概念    数学上,序列是被排成一列的对象(或事件)这样每个元素不是在其他元素之前,就是在其他元素之后。这里,元素之间的顺序非常重要。序列是Python中最基本的数据结构。序列中的
2023-01-30

Python_实用入门篇_03

用户交互以及格式化输出 1.用户交互  ①input函数    input函数等待用户输入,然后前面的变量指向输入的内容,注意,input函数出来的数据类型全是字符串类型x= input(“此括号里的内容会直接打印出来:”)print(x)
2023-01-30

Python_实用入门篇_02

Python对象类型 包括数字、字符串、列表、字典、元组、集合本篇将对这些基本的内置对象类型进行简介1.对象类型:  ①对象类型的概念:    对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物
2023-01-30

Python_实用入门篇_04

Python中的if和while语句1.if流程控制     1.语法结构                                         if 条件测试为 true:                           
2023-01-30

Python_实用入门篇_01

运行Python程序,变量,常量,注释 1.运行Python程序的几种方法(前提是已经装上了Python解释器):  ①我们可以在命令提示符(cmd)中输入"Python"命令来启动Python解释器,通过以下命令执行该脚本:python3
2023-01-30

Python_实用入门篇_12

Python内置序列类型之集合类型详解  1.集合概念    具有某种特定性质的事物的总体,集合里的东西叫作元素。Python中,集合(set)是一个无序不重复元素的序列。 2.集合的创建    可以使用大括号 { } 或者 set() 函
2023-01-30

Python_实用入门篇_11

Python内置类型之字典类型详解1.字典的概念    字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。字典类型是Python中唯一內建的映射类型。字典是另一种可变容器模型,且可存储任意
2023-01-30

Python_实用入门篇_00

Python历史1.Python的诞生  Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Pyth
2023-01-30

Python_实用入门篇_05

编码及运算符 1.编码   1.编码的概念    在计算机硬件中,编码(coding)是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。代码是用来表示事物的记号,它可以用数字、字母、特殊的符号或它们之间的组合来表示。 
2023-01-30

Python_实用入门篇_07

Python内置类型之数字类型以及Python之禅1.数字类型概念    Python 数字数据类型用于存储数值,数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。 看图,数字类型是不可变的,假设你创建了一个数
2023-01-30

Python_实用入门篇_13

目前学习的Python基础的一次总结 一.列表,元组,集合,字典,字符1.Python中最常见的序列类型为:列表,元组,字符类型特点:①所有序列都支持迭代注意:generator也是可迭代对象,generator是生成器,后面博主会讲。②序
2023-01-30

SpeedPHP 快速入门开始使用篇一

本章将阐述下载框架和开始运行您的Speedphp程序。 点击进入speedphp.com。在下载栏目中下载最新稳定版本的SpezVRhIRvnPbwww.cppcns.comedPHP框架。 请将下载后的压缩包解压到您的服务器的目录中(ww
2022-06-12

Java基础入门篇之如何使用For循环

这篇文章主要讲解了“Java基础入门篇之如何使用For循环”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java基础入门篇之如何使用For循环”吧! 一、for循环语句1.在java中一般用
2023-06-15

编程热搜

  • 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动态编译

目录