4. Python数据类型之数字、字符串、列表

开发过程中,我们需要处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型主要有以下几种:数字、字符串、列表、元组、字典、集合等。

数字

数字主要有整数、浮点数、复数3种类型。在Python中,整数(在 Python3.X 版本中 long 类型被移除,使用 int 替代)、浮点数、复数分别用int、float、complex表示。如下表格所示:

int float complex
10 10.1 3.14j
-110 -10.1 4.53e-7j
11 10.11 4.53j
0 -32.4e100 3e+26J

字符串(String)

字符串(String)是 Python 中最常用的数据类型。我们可以使用单引号(' ')或双引号(" ")来创建字符串,如下代码所示:

# 使用单引号表示字符串
'10'  '-10'  '10.0'  '3.14j'  'test'  '我真的是字符串'  'True'  'False'

# 使用双引号表示字符串
"10"  "-10"  "10.0"  "3.14j"  "test"  "我真的是字符串"  "True"  "False"

通过上面我们可以发现,不论是、整数、浮点数、复数还是布尔类型(True 和False 下面会讲到),用 ' ' 或" "包起来后,都表示字符串。所以10 不等同于 '10',一个表示数字,一个表示字符串,其他依此类推。

操作字符串

字符串是不可改变的,但是我们对字符串进行索引或拼接操作,如下代码所示:

a = 'testDog'
b = a + "TEST"
print("通过索引方式访问元组第1个元素:", a[0])
print("字符串第2个元素到第5个元素", a[1:4])
print("字符串第2个元素到第5个元素,步长为2", a[1:4:2])
print("字符串拼接:", b)

打印如下内容

通过索引方式访问元组第1个元素: t
元组第2个元素到第5个元素 est
元组第2个元素到第5个元素,步长为2 et
字符串拼接: testDogTEST

小结:索引从0开始,字符串第1个元素,索引为0。通过上面我们可以发现,我们可以使用下标索引来访问字符串的值,同样也可以使用方括号的形式截取字符串,使用方括号的形式取值原则是,取左不取右。比如a[1:4],我们取了第2个字符,但是没有取索引为4的字符。当我们使用方括号的形式截取字符串,也可以使用步长方式,如a[1:4:2],a[1:4]取到est,步长为2时,取到et。

列表

列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型,创建一个列表,只要用逗号分隔不同的数据项,然后使用方括号括起来即可。列表可以为一个空列表,也可以是一个嵌套列表,如下代码所示:

list1 = []
list2 = [1, 1.1, 2, 3]
list3 = ['你好', 'python', ]
list4 = [1 + 2, 2 + 3]
list5 = [1, 'test', False, 1 + 2, [1, 2]]

print("list1是一个空列表:", list1)
print("查看list1的类型:", type(list1))
print(list2)
print(list3)
print("列表中可以存放表达式", list4)
print("list5是一个嵌套列表:", list5)

上面代码将输出如下内容:

list1是一个空列表: []
查看list1的类型: <class 'list'>
[1, 1.1, 2, 3]
['你好', 'python']
列表中可以存放表达式 [3, 5]
list5是一个嵌套列表: [1, 'test', False, 3, [1, 2]]

访问列表中的值

我们可以像操作字符串哪样使用下标索引来访问列表中的值,同样也可以使用方括号的形式截取字符,如下代码所示:

a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]
print("通过索引方式访问列表第1个元素:", a[0])
print("通过索引方式访问列表第2个元素:", a[1])
print("通过索引方式访问列表第3个元素:", a[2])
print("通过索引方式访问列表第4个元素:", a[3])
print("通过索引方式访问列表第5个元素:", a[4])
print("通过索引方式访问列表第6个元素:", a[5])
print("用负数访问方式,列表第6个元素为:", a[-1])
print("用负数访问方式,列表第5个元素为:", a[-2])

print("列表第2个元素到第6个元素,步长为2:", a[1:5:2])
print("倒数第2个数到最后:", a[-2:])
print("列表第6个元素是一个列表,访问嵌套列表第1个元素:", a[5][0])
print("列表第6个元素是一个列表,访问嵌套列表第3个元素:", a[5][2])

上面代码将输出如下内容:

通过索引方式访问列表第1个元素: 1
通过索引方式访问列表第2个元素: test
通过索引方式访问列表第3个元素: 你好
通过索引方式访问列表第4个元素: 3
通过索引方式访问列表第5个元素: False
通过索引方式访问列表第6个元素: [2, 3, 'CHINA']
用负数访问方式,列表第6个元素为: [2, 3, 'CHINA']
用负数访问方式,列表第5个元素为: False
列表第2个元素到第6个元素,步长为2: ['test', 3]
倒数第2个数到最后: [False, [2, 3, 'CHINA']]
列表第6个元素是一个列表,访问嵌套列表第1个元素: 2
列表第6个元素是一个列表,访问嵌套列表第3个元素: CHINA

当索引超出了范围时,Python会报一个IndexError错误,运行下面代码,将会输出 IndexError: list index out of range。

a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]
print(a[10])
print(a[-10])

小结:列表不仅可以存放数字、字符串、表达式、布尔类型等,还可以再嵌套一个列表。访问列表的方式可以通过索引或使用方括号的形式截取字符,方括号的形式还可以指定步长。

更新列表

列表是可变的,我们可以通过索引方式更新列表,也可以使用insert或append方法更新列表,insert指定位置插入,append会加在列表最后,如下代码所示:

a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]
a[0] = 33
a.insert(0, 'Jack')
a.append('TestDog')
print(a)

上面代码将输出如下内容:

['Jack', 33, 'test', '你好', 3, False, [2, 3, 'CHINA'], 'TestDog']

删除列表元素

列表元素是可以删除的,我们可以使用del 或者pop方法删除列表元素,pop也可以通过索引方式删除,当不指定时,删除最后一个元素,如下代码所示:

a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]
del a[0]
print("删除第1个元素 : ", a)
a.pop(2)
print("删除第3个元素 : ", a)
a.pop()
print("删除第最后1个元素 : ", a)

上面代码将输出如下内容:

删除第1个元素 : ['test', '你好', 3, False, [2, 3, 'CHINA']]
删除第3个元素 : ['test', '你好', False, [2, 3, 'CHINA']]
删除第最后1个元素: ['test', '你好', False]

软件测试汪简书地址
软件测试汪博客地址

欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

转载请注意出处,谢谢合作

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容