第四章:组合数据类型

1.介绍

常用序列类型:字符串、列表、元组

正向递增索引:从左向右依次递增,第一个元素的索引为0,第二个元素的索引为1,以此类推

反向递减索引:从右向左依次递减,从右数第一个元素的索引为-1,第二个元素的索引为-2,以此类推

 集合具备确定性、互异性、无序性

确定性:给定一个集合,那么任何一个元素是否在集合中就确定了

互异性:集合中的元素互不相同

无序性:集合中的元素没有顺序,顺序不同但元素相同的集合可视为同一集

映射类型以键值对的形式存储元素,键值对中的键与值之间存在映射关系

字典(dict)是Python唯一的内置映射类型

原则:

(1)每个键只能对应一个值,不允许同一个键在字典中重复出现

(2)字典中的键是不可变类型

2.列表

(1)创建

使用中括号“[]”或者list()函数

list_one = []      	 # 使用[]创建空列表
li_two = list() 	 # 使用list()创建空列表

(2)迭代

isinstance()函数可以判断目标是否为可迭代对

from collections.abc import Iterable
ls = [3,4,5]
print(isinstance(ls, Iterable))

(3)访问

索引切片进行访问或者在循环中依次访问

list_one = ["Java", "C#", "Python", "PHP"]

print(list_one[1]) #索引

print(list_one[1]) #切片

for li in li_one:
    print(li, end=' ') #循环

(4)添加

append()extend()insert()

list_one = ["Java", "C#", "Python", "PHP"]

list_one.append("C++") #append

list_one.extend([["Android", "IOS",]) #extend

list_one.insert(2,“HTML") #insert

(5)元素排列

sort()reverse()sorted()

li_one = [6, 2, 5, 3] 

list_one.sort() #sort

li_two = sorted(li_one) #sorted

li_one.reverse() #reverse

(6)删除列表元素

del语句、remove()方法、pop()方法和clear()

li_one = [6, 2, 5, 3]

del li_one[0] #del

li_one.remove(3) #remove

li_one.pop() #pop

li_one.clear() #clear

(7)列表推导式

复合表达式,以简洁的方式根据已有的列表构建满足特定需求的列表

[exp for x in list]

还可以结合if判断或for循环嵌套

3.元组

(1)创建

包含在圆括号“()”中,由逗号分隔的元素,还可使用内置函数tuple()

t1 = ()	# 使用()构建元组

t2 = tuple()	# 使用tuple构建元组

元组中只包含一个元素,那么需要在该元素的后面添加逗号

t1 = ('python') 
t2 = ('python',)
print(type(t1))
print(type(t2))


<class 'str'>
<class 'tuple'>

(2)索引和切片

tuple_demo = ('p','y','t', 'h', 'o','n')

tuple_demo[2] #使用索引

tuple_demo[2:5] #使用切片

for i in tuple_demo: 
    print(i) #遍历元组

4.集合

(1)set可变类型,元素必须为不可变类型,大括号“{}”或内置函数set()构建集合

s1 = {1}	 # 使用{}构建集合

s2 = set([1,2])	 # 使用set构建元组

{}不能创建空集合,空集合只能利用set()

set_demo1 = {}
set_demo2 = set()
print(type(set_demo1))
print(type(set_demo2))


<class 'dict'>
<class 'set'>

(2)增加或删除

(3)推导式创建

 集合推导式外侧为大括号“{}”

{exp for x in set if cond}

5.字典

(1)创建

一组包含在大括号“{}中的键值对,每个键值对为一个字典元素,每个元素通过逗号“”分隔,每对键值通过“”分隔,还可使用内置函数dict创建字典

d1 = {'A': 123, 12: 'python'}	 # 使用{}构建集合

d2 = dict({'A': '123', 'B': '135'})	 # 使用dict构建元组

注意:字典元素无序,键值必须唯一

(2)访问

”或get()内置方法key(),values(),items()

d2 = dict({'A': '123', 'B': '135'})

d2['A'] #键

'123' #结果

d2.get('B') #get()

'135' #结果

内置方法:
info = {'name': 'Jack','age':23,'height':185}

info.keys() #获取所有键

dict_keys(['name', 'age', 'height']) #结果

info.values() #获取所有值

dict_values(['Jack', 23, 185]) #结果

info.items() #获取所有元素

dict_items([('name', 'Jack'), ('age', 23), ('height', 185)]) #结果

(3)添加或修改

通过为指定的键赋值或使用update()方法添加或修改元素

通过加元素:字典变量[] =

使用update()添加元素:dict.update(key=value)

添加:
add_dict = {'name': 'Jack','age':23,'height':185}

add_dict['sco'] = 98 #通过键添加

add_dict.update(sco=98)	 #使用update方法添加
修改:
modify_dict = {'stu1': '小明', 'stu2': '小刚', 'stu3': '小兰'}

modify_dict['stu3'] = '刘婷' #通过键修改

modify_dict.update(stu2='张强') #通过update方法修改

(4)删除

pop()popitem()clear()

pop():根据指定键值删除字典中的指定元

popitem():随机删除字典中的元

clear():清空字典中的元素

(5)推导式

{new_key:new_value for key,value in dict.items()}

old_dict = {'name': 'Jack','age':23,'height':185}
new_dict = {value:key for key,value in old_dict.items()}
print(new_dict)

{'Jack': 'name', 23: 'age', 185: 'height'} #结果

6.组合数据类型与运算

针对数字类型的运算符对组合数据类型同样适用,包括+*innot in

字符串、列表和元组 使用 + ”运算符, 会对数据进行拼
字符串、列表和元组 使用 * ”运算符, 会对数据进行整数倍拼
in”“not in” 运算符称为成员运算符,用于判断某个元素是否属于某个变
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值