元组

作者: 仙灵儿 | 来源:发表于2018-07-21 22:57 被阅读1次

    1 元组:(tuple)

    tuple:()相比较列表list:[]

    元组和列表都是一种有序集合,(0,2,3,5,9),第一个元素即是第一个存入的元素,

    按照存放顺序存储。

    #元组的访问

    #格式:元组名[下标]

    tuple4 = (1,2,3,4,5)

    print(tuple4[0])       #  1

    # 获取最后一个元素

    print(tuple4[-1])      #5

    删除元组

    tuple1 = (1,2,3)

    del tuple1     #会报错因为没有了

    元组的截取

    元组的特点:  1)与列表非常相似

    2)一旦初始化就不能修改

    3)使用小括号

    index = 空元组

    index = (1,)   注意:创建元组时,如果只有一个元素,元素后面需要带上逗号","

    如果不加,系统默认为index变量即是元素。

    index = (1,2,3,4)

    index[0] = 5   # 结果会报元组元素值不能修改

    注意:只有元组的元素是非元组类型(列表或字典),即可改变元素(item)内部的值

    tupe(元组)和list(列表)的相互转换:

    l = list("abc")  #["a","b","c"]

    t = tupe(l)  #('a','b','c')

    例     练习:输入10个指定函数的解释文本

    # coding:utf-8

    funs_tuple = ('list','tuple','max','len','os','listdir')

    funs_list = []  #存放输入函数的说明(解释)

    for fun_name in funs_tuple:

    info = input('{0}功能:'.format(funs_name))

    funs_list.append(info)

    2 集合

    set:无序,无重复

    创建集合:s = set()

    s = set([1,2,3]),l = list('abc'),s = set(l)

    向集合中添加元素: s.add(item)   (item)可以是任意类型    添加元素  除了列表

    s.add([1,2,3])    # error, 列表不能被hash转换,列表是可变的

    s.add((1,2,3))    # ok ,  元组中的元素是不可变的

    修改和访问集合中(某一)个元素:

    s[0] 注意:集合是不存在下标的

    访问:pop(),  for a in s 来访问某一个元素,在for循环时外加一个if判断

    pop()   从集合中开始位置弹出元素

    修改:整体修改

    s.update((2,2,4))  # 在原有的内容上,追加不重复内容

    add()只添加一个元素,    update()有可能添加多个元素(重复性)

    删除集合:

    pop()

    remove(元素),如果元素不存在?  则会报错  KeyError(键错误)

    clear()清空所有的元素

    del s

    help('keywords')  在交互环境中查看关键字

    交集(&): 求相同的部分   set1 = set([12,23,78,999])

    set2 = set([12,45,78,56,85])

    set3 = set1 & set2

    print(set3)

    取两个集合相同部分

    并集(|):合并两个集合

    set1 = set([12,23,78,999])

    set2 = set([12,45,78,56,85])

    set3 = set1 | set2

    print(set3)

    取两个所有部分,并去掉重复的

    字典:

    以'{}'包裹元素:

    以 key-value()

    集合:{'1','2','3'},  只是key部分

    字典:{'1':'计算三角形面积','2':'圆形面积','3':'矩形面积'}

    例    抽取水果特性,并用字典描述水果的实例

    水果属性:分类cate,品种pz,产地,cd

    字典:{'cate':'苹果','pz':'红富士','cd':'洛川'}

    字典的特点:1:字典本身是可变类型

    2:极快的查找速度

    3;key具有唯一性

    4;key具有无序性

    5;key需要不可变数据类型(字符串,数字)

    6;当key重复的时候,只保留一个,自动舍弃其它值

    字典添加属性及属性值(key-value键值对)

    fruit_dict = {}

    fruit_dict['cate'] = ''  #cate作为键key使用,如果不存在,则会添加《

    #如果存在,则会更改

    删除:

    pop('price')  #将弹出price的key-value键值对

    1)获取所有key集合

    key()函数

    2)循环读取字典的内容value

    for key in fruit.keys():

    print(key)

    print(fruit.get(key))  #从字典中获取key的value

    print(fruit[key])      #从字典中获取key的value

    3)获取所有的key-value的items,并循环读取

    dels_key = set()

    for item in fruit.items():

    #item:(key,value)

    print(item[0],item[1])

    if item[0]=='cate'

    dels_key.add(item[0])

    fruit.popitem(item) #报错 RuntimeError运行时异常,

    fruit.pop()         # popitem()函数不需要item参数,随机或从末尾开始弹出

    # 在字典的迭代外面去删除

    for del_key in dels_key:

    fruit.pop(del_key)

    练习:水果管理小程序,功能:1;查询水果

    2;添加水果

    3;变更价格

    4;删除水果

    0;退出

    水果的结构;

    编号id,果名name,数量 cnt,价格price,销售排行sale_top

    分析:

    每种水果用dict字典来存储

    再把每种水果存入到list列表中

    收集数据时,按照格式来输入:id,name,cnt,price,sale_top

    将输入的内容拆分成list

    将key事先存入到list中

    相关文章

      网友评论

          本文标题:元组

          本文链接:https://www.haomeiwen.com/subject/pthhmftx.html