【人生苦短,我用Python】Python免费精品课连载(2)——序列、列表、元组与字符串 (zhuanlan.zhihu.com)

【简介】

上一期,为大家介绍了Python的入门知识——Python语言介绍、常用操作符、分支和循环。(【人生苦短,我用Python】Python免费精品课连载(1))

本期继续为大家带来Python进阶——列表、元组、字符串与序列。



序列

在Python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号——即元素的位置,也称为索引。第一个索引是 0,第二个则是 1,以此类推。序列中的最后一个元素标记为 -1,倒数第二个元素为 -2,以此类推。

python包含 6 中内建的序列,包括列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。本文重点讨论列表、元组和字符串。



列表

Python的列表(list),在Python中作用很强大,列表List可以包含不同类型的数据对像,同时它是一个有序的集合。所有序列能用到的标准操作方法,列表也都可以使用,比如切片、索引等,Python的list是可变数据类型,它支持添加append、插入insert、修改、删除del等操作。

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

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


元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。如下:

tup1 = (\'physics\', \'chemistry\', 1997, 2000);

tup2 = (1, 2, 3, 4, 5 );
tup3 = \"a\", \"b\", \"c\", \"d\";


字符串

字符串是 Python 中最常用的数据类型。字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。

可以使用引号(\'或\")来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = \'Hello World!\'
var2 = \"Python Runoob\"


视频课程学习:

课时11:列表:一个打了激素的数组(1)
课时12:列表:一个打了激素的数组(2)
课时13:列表:一个打了激素的数组(3)
课时14:元组:戴上了枷锁的列表
课时15:字符串:各种奇葩的内置方法
课时16:字符串:格式化
课时17:序列!序列!
……(课程连载中)


更多课程,敬请关注:阿里云大学 - 官方网站,云生态下的创新人才工场

Python

点击查看原文 >>

@技术小百科 2017-08-01 10:36 / 0个评论
赞过的人: @技术头条 @技术小百科
要不要再学学下面的文章?
Java自带的4种字符串组织和格式化方法 (blog.didispace.com)
在Java中,组织字符串是平时最常见的操作,这里总结一下Java自带的四种处理方式。
by @技术头条 2023-08-26 21:53 查看详情
两岸猿声啼不住,轻舟已过万重山——我的四分之一人生 (thiscute.world)
本文稍有点长,推荐配合歌曲《夜空中最亮的星——逃跑计划》食用。我曾在无数个白天夜晚,听着这首歌,想着自己的人生,书写本文时也不例外。

2023 年,按我能长命百岁来计算,我已经走过了四分之一的人生路。
如果要我用一句话总结我过去这四分之一的人生,我想用这句诗再合适不过了:

两岸猿声啼不住,轻舟已过万重山。

我想大部分人前四分之一的人生,主旋律都是求学,我也不例外。
我的求学之路并不顺利,小学初中时我不知道自己想要什么,高中时压力太大几乎退学,大学时我又因为自己的问题无法毕业。
但是在工作后我反而逐渐建立起了自信心,就像是突然进入了康庄大道。
最近我又经历了许多,受到了一些启发,觉得到了一个合适的时机,因此写下这篇文章,既是记录我的过去,也同时思考下未来的路该怎么走。
这篇文章主要是写给我自己看的,但如果也能带给你一些启发,那就再好不过了。

by @技术头条 2023-08-26 21:52 查看详情
Python源码剖析:深度探索Cpython对象 (www.52nlp.cn)
Python是一门备受推崇的脚本语言,以其简单的语法和全面的功能而著称,可快速实现各种业务。本文从 CPython 对象构造器入手,介绍了浮点数对象在 CPython 底层数据结构中的表现形式以及对象创建的过程。通过进一步了解 CPython 动态性的实现方式,读者可望在阅读 CPython 源码后提升编写高质量代码的能力。
by @技术头条 2023-07-23 11:28 查看详情
聊一聊:Python和Golang的垃圾回收 (yance.wiki)
GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用。GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在业务逻辑上。但这并不意味着码农就可以不去了解GC,毕竟多了解GC知识还是有利于我们写出更健壮的代码。
by @技术头条 2023-07-04 23:14 查看详情
使用多线程为你的 Python 爬虫提速的 N 种姿势,你会几种? (blog.yuanpei.me)
和大多数学习 Python 的人一样,博主学习 Python 是从写爬虫开始的,而这个爬虫程序刚好是那种抓取“宅男女神”的程序,下载图片无疑是整个流程里最关键的环节,所以,整个优化的核心,无外乎提升程序的稳定性、提高抓取速度。所以,接下来,我会带大家走近 Python 中的多线程编程,涉及到的概念主要有线程(池)、进程(池)、异步I/O、协程、GIL等,而理解这些概念,对我们而言是非常重要的,因为它将会告诉你选择什么方案更好一点。想让你的爬虫更高效、更快吗?在这里就能找到你的答案。
by @技术头条 2023-07-02 23:27 查看详情
为 Python 写一个 C++ 扩展模块 (linux.cn)
在本文中,我将向你展示如何编写一个 C++ 扩展模块。使用 C++ 而不是 C,因为大多数编译器通常都能理解这两种语言。我必须提前说明缺点:以这种方式构建的 Python 模块不能移植到其他解释器中。它们只与 CPython 解释器配合工作。因此,如果你正在寻找一种可移植性更好的与 C 语言模块交互的方式,考虑下使用 ctypes 模块。
by @技术头条 2023-01-04 23:40 查看详情
间断储存的字符串 (blog.codingnow.com)
绝大部分的基础数据结构都是定长的,很容易针对优化它们的内存管理。但字符串是一个例外。
内存管理和其它资源管理有明显的不同。管理内存有点像切蛋糕,从整块蛋糕上切下需要的那块,但归还的时候却因为支离破碎难以合并起来满足后续用途。举个极端的例子:如果内存堆有 2G 大小,如果碰巧在正中间分配了几个字节而从未释放,这个堆就被永久的分成了两个不足 1G 的分片。之后再无可能从这个 2G 大小的堆中分配出 1G 的内存块。
改进内存分配算法或许可以减轻内存碎片的危害,但即使是在此方面做了相当多努力的 jemalloc ,其表现也大大低于一般用户的预期。以我的经验,一个 16G 的内存堆,对于长期运行,需要大量反复分配释放内存的程序,通常能做到 10G 左右的峰值有效内存占用就不错了。这里说的有效内存使用,指你调用 malloc 传入的字节数之和。根据应用程序使用内存的方式不同,这个数字会有很大的不同。
by @技术头条 2022-12-10 22:56 查看详情
又是面试题?对,合并有序序列。 (www.felix021.com)
题面很简单:写一个 C 函数,合并两个有序数组。

- “最好能通用一点”,面试官补充说。

- “可以用 C++ 模板吗?”

- “最好还是用 C 。”

好多年以后,当我开始面试别人了,发现这道题确实很好用。
by @技术头条 2022-08-19 00:05 查看详情
修复 Ubuntu Linux 中 “Command ‘python’ not found” 的错误 (linux.cn)
Python 语言不是以 python 的形式安装的,而是以 python3 或 python2 的形式安装的(在一些老的 Ubuntu 版本中)。
在遥远的过去的某个时间点,Python 实际上是作为 python 包/可执行文件提供的。当 Python 发布第二版时,Ubuntu 和其他发行版不得不同时支持 Python 1.x 和 2.x 版本。
因此,他们将较新的 Python 版本命名为 python2,以区分这两个版本。其他应用或库也在其代码中指定 python 或 python2。
最终,Python 1 版本被完全停用,但软件包继续被命名为 python2。
类似地,当 Python 3 版本发布时,发行版开始同时提供 python2 和 python3 包。
Python 2 不再被支持,Python 3.x 是你在 Ubuntu 上安装的版本。该软件包仍被命名为 python3。
总结一下,你已经在 Ubuntu 上安装了 Python。它是以 python3 软件包方式使用的。
by @技术头条 2022-08-18 23:33 查看详情
Python爬虫requests爬取页面的编码问题 (www.ipcpu.com)
很多时候,我们发现,requests库返回的页面编码都是ISO-8859-1,需要指定为UTF-8才能正确读取。这是为什么呢?
by @技术头条 2022-08-18 23:10 查看详情