网易首页 > 网易号 > 正文 申请入驻

Python基础之:数字字符串和列表

0
分享至

简介

Python的主要应用是进行科学计算,科学计算的基础就是数字,字符串和列表。本文将会详细的给大家介绍一下这三个数据类型的使用情况。

数字

数字是任何科学计算中非常中要的类型,在Python中最常见的数字类型就是int和float。

看几个基本的数字操作:

In [8]: 1+1
Out[8]: 2

In [9]: 3*2 + 10
Out[9]: 16

In [10]: (65 + 23) / 4
Out[10]: 22.0

上面我们可以看到,没有小数的是int类型,带有小数的是float类型。

除法运算 (/) 永远返回浮点数类型。如果要做 floor division得到一个整数结果(忽略小数部分)你可以使用//运算符;如果要计算余数,可以使用%

In [11]: 54 / 4
Out[11]: 13.5

In [12]: 54 // 4
Out[12]: 13

In [13]: 54 % 4
Out[13]: 2

** 可以表示乘方运算:

In [14]: 4 ** 3
Out[14]: 64

我们可以将数字的运算赋值给特定的变量,并且可以使用该变量进行后续的运算。

In [15]: a = 12

In [16]: b = 14

In [17]: a * b
Out[17]: 168

在交互式环境中,_表示上一个输出:

In [17]: a * b
Out[17]: 168

In [18]: 100 + _
Out[18]: 268

除了int和float,Python还支持其他的数据类型,比如Decimal和Fraction,甚至还支持复数。

字符串

Python中字符串有三种表示形式,可以使用单引号,双引号和三引号来表示。

In [19]: site1 = 'www.flydean.com'

In [20]: site2= "www.flydean.com"

In [21]: site3= """www.flydean.com"""

三引号主要用于跨行输出,字符串中的回车换行会自动包含到字符串中,如果不想包含,在行尾添加一个\即可。如下:

print("""\
Usage: thingy [OPTIONS]
-h Display this usage message
-H hostname Hostname to connect to
""")

如果需要转义的话,可以使用反斜杠 \

In [22]: site4 = "www.\"flydean\".com"

In [23]: site4
Out[23]: 'www."flydean".com'

如果你不希望前置了\的字符转义成特殊字符,可以使用 原始字符串 方式,在引号前添加r即可:

In [24]: print(r"www.\"flydean\".com")
www.\"flydean\".com

字符串通过 + 来进行连接,也可以使用 * 来进行复制:

In [25]: "www" + "flydean.com"
Out[25]: 'wwwflydean.com'

In [26]: "www.flydean.com" * 3
Out[26]: 'www.flydean.comwww.flydean.comwww.flydean.com'

相邻的两个或多个 字符串字面值 (引号引起来的字符)将会自动连接到一起.

In [27]: "www" "flydean.com"
Out[27]: 'wwwflydean.com'

注意,上面的自动连接操作,只能对两个字面量有效,如果是变量的话则会报错。

字符串会被看做是由字符组成的数组,所以可以通过string[index]的形式来进行访问。

In [28]: site5 = "www.flydean.com"

In [29]: site5[3]
Out[29]: '.'

如果索引是负数的话,会从右边开始计数:

In [30]: site5[-3]
Out[30]: 'c'

因为-0 和 0 是一样的,所以负数是从 -1 开始的。

除了索引,字符串还支持 切片。索引可以得到单个字符,而 切片 可以获取子字符串:

In [31]: site5[1:5]
Out[31]: 'ww.f'

注意切片的开始总是被包括在结果中,而结束不被包括。这使得s[:i] + s[i:]总是等于s

In [33]: site5[:4]+site5[4:]
Out[33]: 'www.flydean.com'

切片的索引有默认值,省略开始索引时默认为0。

如果索引超出了字符串的范围就会发送越界错误。

In [34]: site5[100]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
in ()
----> 1 site5[100]

但是,切片中的越界索引会被自动处理:

In [36]: site5[:100]
Out[36]: 'www.flydean.com'

因为字符串是不可变的,所以我们不能通过索引的形式来对字符串进行修改:

In [37]: site[2] = "A"
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
----> 1 site[2] = "A"

len用来统计字符串的长度:

In [38]: len(site5)
Out[38]: 15
字符串对象str

字符串的本质是字符串对象str。

可以看下str的基本方法:

In [39]: site5.
capitalize() encode() format() isalpha() islower() istitle() lower() replace() rpartition() splitlines() title()
casefold() endswith() format_map() isdecimal() isnumeric() isupper() lstrip() rfind() rsplit() startswith() translate()
center() expandtabs() index() isdigit() isprintable() join() maketrans() rindex() rstrip() strip() upper()
count() find() isalnum() isidentifier() isspace() ljust() partition() rjust() split() swapcase() zfill()

感兴趣的同学可以自行去研究。

列表

列表是用方括号表示的数据的集合。列表中的数据可以是多种数据类型,但是一般情况下,我们在一个列表中使用同一个数据类型。

In [40]: ages = [ 10, 14, 18, 20 ,25]

In [41]: ages
Out[41]: [10, 14, 18, 20, 25]

和字符串一样,列表也支持索引和切片。事实上,只要是 sequence 类型的数据类型,都支持索引和切片。

In [42]: ages[3]
Out[42]: 20

In [43]: ages[:2]
Out[43]: [10, 14]

In [44]: ages[:]
Out[44]: [10, 14, 18, 20, 25]

注意,列表的切片会返回一个新的列表。但是这个新的列表是浅拷贝,意味着新列表的元素是原列表中元素的引用。

列表还支持拼接操作:

In [45]: ages + [9, 11]
Out[45]: [10, 14, 18, 20, 25, 9, 11]

和String的不可变性不同,列表是可变的,这就意味着我们可以通过索引来修改列表的值:

In [46]: ages[0] = 100

In [47]: ages
Out[47]: [100, 14, 18, 20, 25]

列表的底层类型是list,我们可以看下list中的方法:

In [51]: ages.
append() count() insert() reverse()
clear() extend() pop() sort()
copy() index() remove()

我们可以使用append来附加list的值,也可以使用count来统计list的元素个数等等。

上面我们提到了,列表的切片是原列表的引用,所以我们可以通过给切片赋值,来修改原始列表的值:

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> # replace some values
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> # now remove them
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # clear the list by replacing all the elements with an empty list
>>> letters[:] = []
>>> letters

列表还可以进行嵌套,构建多层的列表:

>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

TypeError: 'str' object does not support item assignment

IndexError: string index out of range

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
此地无银三百两!怀特塞德,给球迷留下了5个谜题

此地无银三百两!怀特塞德,给球迷留下了5个谜题

体育哲人
2026-05-30 22:04:05
意媒:欧冠决赛提前至0点开球,利于疏散和转播

意媒:欧冠决赛提前至0点开球,利于疏散和转播

懂球帝
2026-05-30 17:19:21
“帝国裱糊匠”鲁比奥,怒怼俄罗斯显本色

“帝国裱糊匠”鲁比奥,怒怼俄罗斯显本色

独立寒秋看世界
2026-05-29 20:38:12
187比58,参议院压倒性票数通过,高市早苗成功集国家大权于一身

187比58,参议院压倒性票数通过,高市早苗成功集国家大权于一身

小小科普员
2026-05-29 16:10:40
印尼把刀挥出去,流血的却是自己,回头一看,中国牌桌上早没了镍

印尼把刀挥出去,流血的却是自己,回头一看,中国牌桌上早没了镍

智慧生活笔记
2026-05-30 20:51:50
越扒越有!曝杨梅协会会长:是当地最大批发商,亲戚全在协会任职

越扒越有!曝杨梅协会会长:是当地最大批发商,亲戚全在协会任职

天天热点见闻
2026-05-30 06:44:22
杨紫被围剿了?《生命树》被平台标注白玉兰奖,质疑吐槽接踵而至

杨紫被围剿了?《生命树》被平台标注白玉兰奖,质疑吐槽接踵而至

影视地平线
2026-05-30 18:01:43
“你敢套用我的车牌,我就套你的!”武汉两车主上演“互相套牌”闹剧,双双被拘!

“你敢套用我的车牌,我就套你的!”武汉两车主上演“互相套牌”闹剧,双双被拘!

齐鲁壹点
2026-05-30 06:21:30
再见,杨瀚森,开拓者动手裁员了……

再见,杨瀚森,开拓者动手裁员了……

体育新角度
2026-05-30 10:25:28
官方:阿联酋国家队主帅奥拉罗尤下课

官方:阿联酋国家队主帅奥拉罗尤下课

懂球帝
2026-05-30 16:05:36
万亿巨头中际旭创,严正声明

万亿巨头中际旭创,严正声明

中国基金报
2026-05-30 19:31:33
苏贞昌次女苏巧纯获近2000万元补助,吴子嘉怒批“偷鸡摸狗”

苏贞昌次女苏巧纯获近2000万元补助,吴子嘉怒批“偷鸡摸狗”

海峡导报社
2026-05-29 15:27:15
收割机爬梯被盗后续:官方火速处理,当事人表示满意

收割机爬梯被盗后续:官方火速处理,当事人表示满意

映射生活的身影
2026-05-30 19:54:21
A股重磅资金报告:周五杀跌元凶浮出水面!真相让散户无法接受!

A股重磅资金报告:周五杀跌元凶浮出水面!真相让散户无法接受!

丁丁鲤史纪
2026-05-30 13:54:27
新闻联播都快"看不懂"了,近年出现了越来越多专业的新词汇

新闻联播都快"看不懂"了,近年出现了越来越多专业的新词汇

飘逸的云朵
2026-05-30 03:39:47
掘金为留23岁新星恐送走29+9首发,约基奇家乡狠话逼宫管理层

掘金为留23岁新星恐送走29+9首发,约基奇家乡狠话逼宫管理层

体育硬核说
2026-05-31 00:26:21
耿同学的北航博导杨昀:论文不让国内看,跟肖飞合作,清华本硕没有一作

耿同学的北航博导杨昀:论文不让国内看,跟肖飞合作,清华本硕没有一作

小小河
2026-05-29 22:41:27
欧冠决赛:登贝莱哈基米首发,大巴黎全主力冲卫冕

欧冠决赛:登贝莱哈基米首发,大巴黎全主力冲卫冕

篮坛第一线
2026-05-31 00:32:35
湖南高速服务区罚款:到底是为了安全还是为了钱呢

湖南高速服务区罚款:到底是为了安全还是为了钱呢

民间胡扯老哥
2026-05-28 11:44:26
鸿蒙中国份额反超iOS,安卓仍有63%

鸿蒙中国份额反超iOS,安卓仍有63%

观察者网
2026-05-30 09:25:09
2026-05-31 00:47:00
flydean程序那些事
flydean程序那些事
最通俗的解读,最深刻的干货!
356文章数 438关注度
往期回顾 全部

科技要闻

车圈大佬发声:价格战远去,但竞争仍残酷

头条要闻

两名9岁女孩被困电梯近2小时 求救几十次物业无动于衷

头条要闻

两名9岁女孩被困电梯近2小时 求救几十次物业无动于衷

体育要闻

岁月不饶人!39岁德约鏖战近5小时拼到呕吐

娱乐要闻

张碧晨《歌手》 “活人微死” 自嘲

财经要闻

双汇管不住一头猪

汽车要闻

900V+3.2秒破百 领克10+&领克10上市16.99万元起

态度原创

教育
手机
房产
旅游
时尚

教育要闻

26岁女教师赛课时猝死!老师,一路走好,愿天堂没有赛课

手机要闻

REDMI K90至尊版入网?K90单品激活破200万

房产要闻

红动五月!全国抢入核心资产,广州盯紧凯旋新世界!

旅游要闻

六一带娃去哪玩?郑州又多了个好去处!

美回巅峰的她们,带火的这些爆款真的好用吗

无障碍浏览 进入关怀版