python序列类型-Python(第八课,序列类型)

引言:

我们之前学过整数,浮点数,字符串,今天带来的更具有包容性。

今天带来的是高级数据类型,包括列表,元组,集合和字典。根据他们特性不同,可以分为序列类型,集合类型,键值类型。

一,序列类型

1.1 列表类型

列表的标识是list。在英文中翻译为清单的意思,同理,在Python中,可以同样的理解。比如我们去超市购买了”梨子“,”苹果“,”香蕉“,如果我们用之前的知识,代码就是用3个变量,分别表示这3个物品:

item1="梨子"

item2="苹果"

item3="香蕉"

在编程中,最忌讳的就是重复性劳动,因此就引出列表的作用。

shopping_list = ["苹果","梨子","香蕉"]

print('今天我买了:')

for i in shopping_list:

print(i)

结果:

今天我买了:

苹果

梨子

香蕉

在上述第一行代码中,赋值的右边就是新认识的第一个数据类型---列表。31b1c9918ddf4dfff019930b0b8959ee32f5cbb7.png列表的创建

注意:其中的数据项,可以是各种类型的数据(整数,浮点数,字符串)

假如,我突然想吃肉了,于是又买了肉,那么这个肉就需要假如这个例表中。用法是列表名.append(需要添加的数据项);

shopping_list.append("meat"),更多的如下:688a441bd0dd5420314ba4c3fa036d82b7828737.png列表操作符

ec95f0280e3464c7834ed78bea58736511152f16.png列表操作符

补充:两个列表连接在一起也可以用extend,用法是:list1.extend(list2),不过输出的时候,因为这种连接是在list1上直接修改的,所以输出print(list1)即可。4aa545dccf7de8d4a93c2b2b8e3265ac0a26d216.png

1.2 列表推导式

举一个简单的例子:将一个列表中的每一个元素都平方,输出新列表b

代码:

a=[1,2,3,4]

b=[]

for i in a:

b.append(i**2)

print(b)

结果:[1,4,9,16]

如果采用列表推导式,该怎么做呢“

a=[1,2,3,4]

b=[i**2 for i in a]

print(b)

这这里,列表式主要有两部分组成:

循环变量i**2

for循环  for i in a

除此之外,我们还可以在for循环后面添加一个if语句。

例如:用列表式输出10以内大于4的整数列表

a=[number for number in range(11) if number>4]

print(a)

结果:[5, 6, 7, 8, 9, 10]

1.3 元组类型

元组类型,英文单词是tuple。元组的创建和列表相似,但是元组创建之后不能够改变,也就意味着我们不能对元组进行增加,删除,拼接等操作。但是,我们可以提取其中的元素。因此,元组就适合保存一些“机密”数据,2a45e0bade5ba571106660d72cf78866c23d9e3b.png元组的创建

注意:列表用的方括号,元组是圆括号。

1.4 索引和切片

通常字符串,元组,列表都是有长度的,我们用len()来查看他们的长度

例如:

school="电子科技大学"

school_list=['张三',"李四",'王五',"马冬梅"]

print("字符串的长度是:{}".format(len(school)))

print("列表的长度是:{}".format(len(school_list)))

结果:

字符串的长度是:6

列表的长度是:4

有了长度,那么我们就可以提取其中更多元素了。

补充:字符串中的各个元素都有自己的编号,电的编号就是0,学的编号就是5。

列表也是,张三的编号就是0,马冬梅的编号就是3。

因此,我们就可以根据编号进行索引。

程序:

school="电子科技大学"

school_list=["张三","李四","王五","马冬梅"]

a=school[1]

b=school_list[3]

print("{}的第2个元素是:{}".format(school,a))

print("{}的第4个元素是:{}".format(school_list,b))

结果:

电子科技大学的第2个元素是:子

['张三', '李四', '王五', '马冬梅']的第4个元素是:马冬梅c8068fcafb5882db2c58889d0a144ad0ed774b9b.png正负向索引

索引是指访问序列中单个元素,访问序列中连续的多个元素叫做切片。

例如:

student = ["张三", "李四", "王五", "李雷", "韩梅梅"]

print(student[1:3])

print(student[2:4])

print(student[2:])

print(student[:2])

print(student[:])

结果:

['李四', '王五']

['王五', '李雷']

['王五', '李雷', '韩梅梅']

['张三', '李四']

['张三', '李四', '王五', '李雷', '韩梅梅']

规律:

冒号左空,从头取数;

冒号右空;取到末尾;

冒号左右都不空,左数取,右数舍。

从上述也能够发现,索引取到得到是列表中的元素,而切片是截取了列表中的某个片段,所以结果还是列表。

1.5 循环遍历

列表的循环遍历和字符串类似:

student_list = ["张三", "李四", "王五", "李雷", "韩梅梅"]

for s in student_list:

print(s)

结果:

张三

李四

王五

李雷

韩梅梅71bf2cd56882a2e97f8b3477c9256f8b09f361d3.png

接下来,我们把循环遍历和索引结合起来。

school=["北京大学","清华大学","上海交通大学","复旦大学","浙江大学"]

for i in range(0,len(school)):

print("排名第{}的大学是:{}".format(i+1,school[i]))

结果:

排名第1的大学是:北京大学

排名第2的大学是:清华大学

排名第3的大学是:上海交通大学

排名第4的大学是:复旦大学

排名第5的大学是:浙江大学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值