Python基础语法三组合数据类型

一、列表(Lists)
        列表属于Python中的序列类型,它是任意对象的有序集合,通过 “ 位置 ”或者 “ 索引 ” 访问其中的元素,它具有可变对象、可变长度、异构和任意嵌套的特点。
        列表里第一个元素的为值或者索引是从 “ 0 ” 开始,第二个元素则是 “ 1 ”,一次类推。
        列表的元素放置在方括号 [] 中,以逗号来分隔各元素;
        格式如下:
listname = [元素1,元素2,元素3,...,元素n ]
    例:
sample_list1 = [1,2,3,4]
sample_list2 = ["P","y","t","h","o","n"]
sample_list3 = ['Python','sample','list','for','your','reference']
print(sample_list1)
print(sample_list2)
print(sample_list3)
    1.1 列表中允许有不同数据类型的元素,但最好使用相同的数据类型。
    1.2 列表可以嵌套使用。(即列表中包含列表元素)
    1.3 通过使用 “ 位置 ” 或者 “ 索引 ” 来访问列表中的值,“ 位置 ” 或者 “ 索引 ” 是从 0 开始。
    1.4 可以在方括号中使用 “ 负整数 ” ,如 sample_list[-2],表示从列表右侧开始倒数2个的元素。 
    1.5 方括号中用冒号分开的两个整数来截取列表中的元素。如:sample_list2[ 2:4 ],可获取第3个和第4个元素,(包左不包右)
    1.6 对列表元素进行修改时,可以使用赋值语句;
    1.7 删除列表元素,可以使用 del 语句;del listname[索引] 
        在不关心元素索引时,可以使用内置方法 remove() 来删除指定的值。如:listname.remove('值')
    1.8 清空列表,可以采用重新创建一个与原列表同名的空列表,如 listname = []
        删除整个列表也可以使用  del 语句, del listname
     1.9 列表中内置函数与其他方法:
函数说明
len(listname)返回列表的元素数量
max(listname)返回列表中元素中最大值
min(listname)返回类别中元素的最小值
list(tuple)将元组转换为列表
listname.append(元素) 添加新的元素在列表末尾
listname.count(元素)统计该元素在列表中出现的次数
listname.extend(序列)追加另一个序列类型中的多个值增,改
listname.index(元素)从列表中找出某个值第一个匹配元素的索引位置
listname.insert(位置 , 元素)从列表中找出某个值第一个匹配元素索引的位置
listname.pop([index=-1])移除列表中的一个元素,并返回该元素的值
listname.remove(元素)移除列表中的第一个匹配的某个值元素
listname.reverse()将列表中的元素反向
listname.sort(cmp = None, key= None, reverse=False)对列表进行排序
listname.clear()清空列表
listname.copy()复制列表

二、元组(Tuples)
        元组与列表一样,属于Python中的序列类型,它是任意对象的有序集合,通过 “ 位置 ” 或者 “ 索引 ” 访问其中的元素,它具有可变长度、异构和任意嵌套的特点,与列表不同的是:元组的元素是不可修改的
        格式:元素放在小括号里,元素之间用逗号隔开。
        tuplename = ( 元素1,元素2,... ,元素n )
        2.1 元组可以为空;
        2.2 为避免歧义,当元组中只有一个元素时,必须在改元素后面加上逗号,否则括号会被当做运算符。(sample_tuple = ( 15, ))
        2.3 元组可以嵌套使用;
        2.4 可以使用索引来访问元素;
        2.5 支持切片操作;
               sample_tuple[:]:取元组所有元素;
               sample_tuple[4:]:表示取元组索引为 3 后面所有的元素;
               sample_tuple[0:4:2]:表示元组sample_tuple索引为 0 到 4 的元素,每隔一个元素取一个。
        2.6 删除元组
            del sample_tuple
        2.7 内置函数
函数说明
len(tuplename)返回元组元素的数量
max(tuplename)返回元组中元素的最大值
min(tuplename)返回元组中元素的最小值
tuple(listname)将列表转换为元组
三、字典(Dictionaries)
        字典属于映射类型,它通过 键值对实现元素存取,具有无序、可变长度、异构、嵌套和可变类型容器等特点。
        格式:键和值有单引号,他们成对出现,中间用冒号分割,每对直接用逗号分割,并放置在花括号中。 
dictname = { '键1':'值1','键2':'值2','键3':'值3'}
    3.1 同一个字典中,键应该是唯一的;
    3.2 同一个键被两次或多次赋值,只有最后一次赋值时有意义的。
sample_dict = {'Model': 'PC', 'Brand': 'Lenovo', 'Brand': 'Thinkpad'}  # Brand 赋值为 Thinkpad
    3.3 支持嵌套
    3.4 取字典中的值: dictname[键]
    3.5 使用包含嵌套的字典:
print ("sample_dict5['office']: ", sample_dict5['office']) 
sample_dict5['office']:  {'room1': 'Finance', 'room2': 'logistics'}  #输出键为office 的值
    3.6 修改字典中的值  : 直接赋值即可。
    3.7 向字典末尾追加新的键值,直接赋值即可
    3.8 删除元素和字典
          del dictname[键]:删除字典中的值
          del dictname        :删除字典
     3.9 内置函数和方法
函数说明
len(distname)计算键的总数
str(distname)输出字典
type(distname)返回字典类型
方法说明
dictname.clear()删除字典所有元素,清空字典
dictname.copy()以字典类型返回某个字典的浅复制
dictname.fromkeys(seq[,value])创建一个新字典,以序列中的元素做字典的键,值为字典所有键对应得初始值
dictname.get(value , default=None)返回指定键的值,如果值不在字典中返回default值
key in dictname如果键在字典dict里返回true,否则返回false
dictname.items()以列表返回可遍历的(键、值)元组数组
ditname.keys()将一个字典所有的键生成列表并返回
dictname.setdefault(value,default=None)和dictname.get()类似,不同点是,如果键不存在与字典中,将会添加键并将值设为default
dictname.update(dictname)把字典dictname的键 / 值对更新到dictname里
dictname.values()以列表返回字典中的所有值
dictname.pop(key[,default])弹出字典给定键所对应的值,返回值为被删除的值。键值必须给出,否则,返回default
dictname.popitem()弹出字典中的一对键和值,并删除             
四、集合(set)
        集合是一种集合类型,可以理解为就是数学里的集合。它是一个可以表示任意元素的集合,它的索引可以通过另一个任意键值的集合进行,它可以无序排列、哈希。
        集合分为两种:可变集合(set),不可变集合(frozenset)。
        可变集合,在被创建后,可以通过很多种方法被改变,例如add(),update() 等。
        不可变集合,由于其不可变特性,它是可哈希(hashable,意味一个对象在其生命周期中,其哈希值不会改变,并可以和其他对象做比较),也可以作为一个元素被其他集合使用,或者作为字典的键。
        创建集合:使用大括号 {} 或者 set() 创建非空集合
sample_set = { 值1, 值2, 值3, }
    4.1 创建空集合是必须使用 set() ,格式:emptyset = set()
    4.2 集合中的元素不能保存重复的元素;
    4.3 集合是无序的,因此没有索引或键来指点调用某个元素,单可以使用for循环输出集合中的元素;
    4.4 添加元素,可以是用 add() 方法,即把需要添加的内容作为一个元素(整体),加入到集合中,格式为:setname.add() 
        添加多个元素可以用 update() 方法,将另一个类型中的元素拆分后,添加到原集合中
    4.5  集合可以被用来做成员测试,使用 in 或 not in 检查某个元素是否属于某个集合;
    4.6 集合可以做集合运算,求差集(difference),并集(union)、交集(intersection)、对称差集(symmetric difference)
    4.7 删除元素和集合:setname.remove()
            del setname
    4.8  集合的方法
方法说明
len(s)返回集合元素的个数
x in s测试 X 是否是集合 s 中的元素,返回 True 或 False 
x not in s如果 x 不在集合 s 中,返回True,否则返回 False
s.isdisjoint(otherset)
s <= otherset
当集合 s 与另一个集合 otherset 不相交时,返回 True,否则返回 False
s < otherset集合 s 是另一个集合otherset 的真子集,返回 True,否则返回 False
s.isuperset(otherset)
ss >= otherset
集合 s 是另个一集合otherset 的父集,返回True,否则返回 False
s.union(*othersets) 或
s | otherset1 | otherset2
返回 s 和othersets的并集,包含有set和othersets的所有元素
s.intersection(*othersets)
s & otherset1 & otherset2
返回 s 和othersets的交集,包含在 s 并且也在othersets中的元素
s.difference(*othersets)
s-otherset1 - otherset2...
返回 s 与othersets的差集,只包含在 s 中但不在othersets中的元素
s.symmetric_difference(otherset)
set^otherset
返回 s 与otherset的对称差集,只包含在 s 中但不在othersets中,和不在ss中但在othersets中的元素
s.copy()返回集合 s 的浅拷贝
s.update(*othersets) 或 
s |= otherset1 | otherset2...
将另外的一个集合或多个集合元素,添加到集合s 中
s.intersecetion_update(*othersets)或set &= otherset1 & otherset2
在 s 中保留它与其他集合的交集
s.difference_update(*othersets)或 s -= otherset1 | otherset2从 s 中移除它与其他集合的交集,保留不在其他集合中的元素
s.symmetric_difference_update(otherset) 或 s ^= otherset集合 s 与另一集合otherset交集的补集,将结果返回到 s
s.add(元素)向集合 s 中添加元素
s.remove(元素)从集合 s 中移除元素,如果该元素不在 s 中,则报告KeyError
s.discard(元素)从集合 s 中移除元素,如果该元素不在 s 中,则什么都不做
s.pop()移除并返回集合 s 中的任一元素,如果 s 为空,则报告KeyError
s.clear()清空集合 s 中所有元素
            
         不可变数据类型有四个:数字(Numbers)、字符串(Strings)、元组(Tuples)、集合(Set);
        元素可变的数据类型有两个:列表(Lists)、字典(Dictionary)。其中,列表是Python 中使用最为频繁的数据类型之一。
        一切语言的基础就是数据类型       









posted @ 2020-02-09 22:46  孰能无过  阅读(726)  评论(0编辑  收藏  举报