06_Python基础_Python容器类型数据

Python容器类型数据
    Python内置的数据类型如序列(列表、元组……)、集合和字典可以容纳多项数据,我们称它们为容器类型的数据。
    一、序列
        序列是一种可迭代的、元素有序的容器类型的数据。
        序列包含:列表list,字符串str,元组tuple,字节序列bytes……
        序列索引操作
            比如字符串:“China”这个字符串,每一个字符元素都带有序号,这个序号就是索引,索引又分为正值索引和负值索引。
        
        有了索引后,可以通过下标运算符访问序列中指定索引的元素,下标运算符是跟在容器数据后的一对中括号[],中括号中的参数则表示要获取元素的索引值。
        
        对于+,* 运算符也可以用于序列中
            +:表示把两个序列连接起来
            *:表示把序列重复多次
        
        切片操作
            序列的切片,指的是从序列中切分出来小的子序列。
            切片运算符的语法形式:[start: end: step]
                start:表示开始索引
                end:表示结束索引
                step:表示步长(这里的间隔可以是正整数也可以是负整数),当省略时默认的值是1
                切片是包含start位置的元素,不包含end位置的元素的,并且两个值是可以省略的,省略时会你取所有元素
            
a = 'Hello'
a[1:3]    # el
a[:3]    # Hel,当省略了start时,它会默认为0
a[0:]    # Hello,当省略了end时,它会默认为序列的长度,也就是len(a)的值为5
a[0:0]    # Hello,当省略了start,end后,都取默认值则相当于a[0:5]
a[1:-1]    # ell,这里end使用了负值索引,-1表示是最后一个元素,由于切片时又不包含end位置的元素所以为ell
a[0:3:2]    # Hl,这里指定了步长为2
a[::-1]    # 步长为负值时,从右往左取元素,这样这个时候会把所有的元素取到并且元素倒置
        成员测试
            成员测试运算符有两个:in、not in
                in:用来测试是否包含某一个元素
                not in:用来测试是否不包含某一个元素
    二、列表
        它是一种可变序列类型,可以追加、插入、删除和替换列表中的元素。
        列表创建的两种方式:
            1、list函数:函数中参数是可迭代对象(字符串,列表,元组,集合或字典……)
            2、[元素1,元素2,元素3,...,元素n]:指定具体列表元素,元素之间以逗号分隔,列表元素需要使用中括号括起来
         
        
        追加元素
            追加元素可以用两种方式
                1、追加单个元素,可以使用列表的append方法,一次只能追加一个元素
                2、在列表中追加多个元素可以使用+运算符或者列表的extend方法
             
            在Python函数和方法是有区别的,方法是属于类的,通过类或对象来调用,函数不属于任何类,直接调用就可以了。
             
            
            插入元素
                要向列表中插入元素时可以使用列表的insert(i,x)方法,其中i指定索引的位置,x指定了要插入的元素。
            
            
            替换元素
                如果要替换列表中的元素时,把列表下标索引元素放在赋值等号的左边,这样子就可以进行赋值了
                 
        
        删除元素
            要想在列表中删除元素时,可以使用列表的remove(x)方法,如果找到匹配的元素x,则删除这个元素,如果找到多个匹配的元素则只删除第一个匹配的元素。
         
    三、元组
        元组(tuple),是一种不可变序列类型。
        
        创建元组
            创建元组时有两种方法
                1、tuple函数,给它的参数是一个可迭代的对象(字符串、列表、元组、集合和字典……)
                2、(元素1,元素2,元素3,……),这里的括号可以省略
             
        
        元组拆包
            创建元组,并把多个数据放到元组中,这个过程称为元组的打包。
            与元组的打包相反的是拆包,也就是把元组中的元素取出来,分别赋值给到不同的变量。
             
             
    四、集合
        集合(set)是一种可迭代的、无序的、不能包含重复元素的容器类型
        注意:序列中的元素是有序的,集合中的元素是元序的,但元素不可以重复
        集合的创建有两种方式
            1、set函数,参数是可迭代的对象(字符串、列表、元组、集合和字典……)
            2、{元素1,元素2,元素3,……}:指定具体的集合元素,元素之间以逗号分隔。大括号不可以省略
             
        修改集合
            修改集合,可以向其中添加元素,删除元素。相应的方法如下:
                1、add(element):添加元素,如果元素已存在则不可以添加,这时不会报错
                2、remove(element):删除元素,如果存在则删除,不存在则报错
                3、clear():清除集合
s = {'罗贯中', '吴承恩', '曹雪芹', '施耐庵'}
s.add('张三')
s    # 展示集合的元素{'张三', '罗贯中', '吴承恩', '曹雪芹', '施耐庵'}
s.remove('张三')    # 删除元素'张三'
s.remove('张三')    # 删除时会报错,因为'张三'这个元素不存在了
'张三' in s    # 得到的结果是False
s.clear()    # 清空集合,集合变为set()
len(s)    # 因为集合被清空了,这里结果为0
    五、字典
        字典(dict)是可迭代的,通过key来访问元素的可变容器类型的数据。
        字典分为两个就分,一个是键,一个是值,键中不可以包含重复的元素,值中则没有限制
        创建字典的两种方式
            1、dict函数
            2、{key1:value1,key2:value2,...,keyn:valuen}:指定具体的字典键值对,键值对之间以逗号分隔,使用大括号括起来。
         
        
    字典修改
        修改字典都是对键和值同时操作的,对字典的修改包含添加、替换和删除
        items()    返回字典中所有键值对视图
        keys()    返回字典所有键
        values()    返回字典所有值
        
# coding=utf-8
student_dict = {101:'张三',102:'李四',103:'王五'}
print("------遍历键-----")
for sid in student_dict.keys():
    print("学号:" + str(sid))
print("--------遍历值-----")
for sname in student_dict.values():
    print("姓名:" + sname)
print("遍历键和值")
for sid,sname in student_dict.items():
    print('学号:{0}-姓名:{1}'.format(sid,sname))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值