组合数据类型

1.认识组合数据类型:Python中常用的序列类型有字符串、列表和元组。Python中的序列支持双向索引:正向递增索引和反向递减索引正向递增索引从左向右依次递增,第一个元素的索引为0,第二个元素的索引为1,以此类推;反向递减索引从右向左依次递减,从右数第一个元素的索引为-1,第二个元素的索引为-2,以此类推。

 Python集合具备确定性、互异性和无序性三个特性。

确定性:给定一个集合,那么任何一个元素是否在集合中就确定了。
互异性:集合中的元素互不相同。
无序性:集合中的元素没有顺序,顺序不同但元素相同的集合可视为同一集合。

2.创建列表:Python列表的创建方式非常简单,既可以直接使用中括号“[]”创建,也可以使用内置的list()函数快速创建。

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

3.在Python中,支持通过for…in…语句迭代获取数据的对象就是可迭代对象。目前,我们学习过可迭代的类型有字符串和列表,后续学习的集合、字典、文件也是可迭代类型的对象。使用isinstance()函数可以判断目标是否为可迭代对象,返回True表示为可迭代对象。

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

4.访问列表元素:列表中的元素可以通过索引或切片这两种方式进行访问,也可以在循环中依次访问。索引:

list_one = ["Java", "C#", "Python", "PHP"]
print(list_one[1])

切片:

print(list_one[1])
for li in li_one:
    print(li, end=' ')

5.添加列表元素:向列表中添加元素是非常常见的一种列表操作,Python提供了append()、extend()和insert()这几个方法。实例:

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

list_one.append("C++")

extend:

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

insert:

list_one.insert(2,“HTML")

6.元素排序:列表的排序是将元素按照某种规定进行排列。列表中常用的排序方法有sort()、reverse()、sorted()

示例:

li_one = [6, 2, 5, 3]

sort:

list_one.sort()

sorted:

li_two = sorted(li_one)

reverse:

li_one.reverse()

7.删除列表元素:列表的排序是将元素按照某种规定进行排列。列表中常用的排序方法有sort()、reverse()、sorted()

8.元组:元组的表现形式为一组包含在圆括号“()”中、由逗号分隔的元素,元组中元素的个数、类型不受限制。除了使用()构建元组外,还可以使用内置函数tuple()构建元组。

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

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

访问元组

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
 
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
 
# 创建一个新的元组
tup3 = tup1 + tup2
print tup3

删除元组

tup = ('physics', 'chemistry', 1997, 2000)
 
print tup
del tup
print "After deleting tup : "
print tup

元组运算符元组运算符

元组:当使用圆括号“()”创建元组时,如果元组中只包含一个元素,那么需要在该元素的后面添加逗号,从而保证Python解释器能够识别其为元组类型。

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

元组支持以索引切片方式访问元组的元素,也支持在循环中遍历元组。

示例:

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

使用索引:

tuple_demo[2]

使用切片:

tuple_demo[2:5]

遍历元组:

for i in tuple_demo:
    print(i)

 9.集合:Python的集合(set)本身是可变类型,但Python要求放入集合中的元素必须是不可变类型。大括号“{}”或内置函数set()均可构建集合。

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

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

需要注意,使用{}不能创建空集合(不包含元素的{}创建的是字典变量),空集合只能利用set()函数创建。

示例:

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

集合是可变的,集合中的元素可以动态增加或删除。Python提供了一些内置方法来操作集合,常见内置方法如下:

10.创建字典:字典的表现形式为一组包含在大括号“{}”中的键值对,每个键值对为一个字典元素,每个元素通过逗号“,”分隔,每对键值通过“:”分隔,除了使用“{}”创建字典还可以使用内置函数dict创建字典。:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict

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

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

字典的访问:字典的值可通过“键”或内置方法get()访问。

tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
print "tinydict['Name']: ", tinydict['Name']
print "tinydict['Age']: ", tinydict['Age']

元素的添加和修改:字典支持通过为指定的键赋值或使用update()方法添加或修改元素,下面分别介绍如何添加和修改字典元素。

示例:add_dict = {'name': 'Jack','age':23,'height':185}
通过键添加:

add_dict['sco'] = 98

使用update方法添加:add_dict.update(sco=98)

修改字典:

tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8 # 更新
tinydict['School'] = "RUNOOB" # 添加
 
 
print "tinydict['Age']: ", tinydict['Age']
print "tinydict['School']: ", tinydict['School']

字典元素的删除:Python支持通过pop()、popitem()和clear()方法删除字典中的元素。

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

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

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

tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name']  # 删除键是'Name'的条目
tinydict.clear()      # 清空字典所有条目
del tinydict          # 删除字典
 
print "tinydict['Age']: ", tinydict['Age'] 
print "tinydict['School']: ", tinydict['School']

11.组合数据类型与运算:Python中针对数字类型的运算符对组合数据类型同样适用,包括+、*、in、not in

字符串、列表和元组使用“ + ”运算符,会对数据进行拼接

字符串、列表和元组使用“ * ”运算符,会对数据进行整数倍拼接

“in”“not in”运算符称为成员运算符,用于判断某个元素是否属于某个变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值