元组:(tuple)

 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中
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值