python语言篇(5知识点)

元组 tuple
    元组是不可改变的序列,同list一样,元组可以存放任意类型的元素
  表示方法:
    用小括号 () 括起来,单个元素括起来后加逗号(,)区分单个对象还是元组
  创建空元组的字面值
    t = ()
  创建非空元组的字面值
    t = 200,
    t = (20,)    
    t = (1,2,3)
    t = 100, 200, 300

  type(x)  函数用来返回 x 的类型

  元组的错误示例:
    t = (20)
    x, y, z = 100, 200, 300  # 序列赋值
    x, y, z = (100, 200, 300)  # 序列赋值
    x, y, z = [100, 200, 300]  # 序列赋值
    x, y, z = "ABC"  # 序列赋值

元组的构造(创建)函数tuple
  tuple()          生成一个空元组,等于同()
  tuple(iterable)  用可迭代对象生成一个元组

元组的运算:
  元组的所有运算同列表的运算方式一致
  算术运算:
    + += * *= 
  比较运算
    < <= > >= == != 
  in / not in 运算
  索引 和 切片
    元组的索引和切片等同于列表的索引和切片
    元组的切片返回一个元组
    元组不能索引赋值和切片赋值

元组的方法:
  T.count(value)  返回元素个数(同list.count)
  T.index(value, [start, [stop]]) 返回某个元素在元组的索引位置(同list.index)

序列相关的函数:
  len(x)
  max(x)
  min(x)
  sum(x)
  any(x)
  all(x)
  str(obj)  将对象序列化为字符串
  list(iterable)
  tuple(iterable)
  reversed(seq)  返回反向顺序的迭代器对象
  sorted(iterable, reverse=False) 返回已排序的列表

示例:
  L = [2,3,5,7]
  for x in reversed(L):
      print(x)  # 打印 7, 5, 3, 2

思考:
  元组里能否存入列表?即:
  t = (1,2,[3.1, 3.2])
  能否把 3.1 改为3.14 ?
  为什么?

练习:
  任意输入一个字符串,将此字符串中的空格全部去掉,生成返转后的字符串:
  如:
    输入: abc def g<回车>
  打印输出: gfedcba
    (提示:可以用反向切片或reversed进行反转)

字典 dict
什么是字典:
  字典是一种可变的容器,可以存储任意类型的数据
  字典中的每个数据都是用'键'进行索引的,而不像序列可以用下标(index)来进行索引
  字典中的数据没有先后顺序关系, 字典的存储是无序的
  字典中的数据以键(key)-值(value) 对的形式进行映射存储
  字典的键不能重复,具只能用"不可变类型"作为字典的键

字典的字面值的表示方式:
  字典的表示方式以 {} 括起来,以冒号(:) 分隔键-值对, 各键-值对之间用逗号(,)分割开

创建空字典:
  d = {}  # d绑定空字典

创建非空字典:
  d = {'name': 'tarena', 'age': 16}
  d = {'year': 2018, 'month': 4, 'day':1}

字典的构造函数dict
  dict()   生成一个空字典,等同于 {}
  dict(iterable)  用可迭代对象初始化一个字典
  dict(**kwargs)  用命名关键字传参形式生成一个字典

示例:
  d = dict()
  d = dict([('name', 'tarena'), ('age', 15)])
  d = dict(name='tarena', age=15)

字典的键为不可变类型:
  bool, int, float, complex, str, tuple, frozenset(固定集合), bytes(字节串)(后面会讲)
  包括: None

可变的类型(不能充当字典的键)
  list, dict, set(集合), bytearray(字节数组)(后面才讲)

字典的基本操作:
  键索引:
    语法:
      字典[键]
    示例:  
       >>> d = {'name': 'tarena', 'age': 15}
       >>> d['name']
       'tarena'
       >>> d['age']
       15
  添加/修改字典元素
    字典[键] = 值对象
    示例:
      d = {}
      d['birthday'] = (2002, 1, 1)  # 添加键值对
      d['age'] = 16  # 添加键值对 
      d['age'] = 17  # 修改'age'键所对应的值

  删除字典元素 del 语句
    语法:
      del 字典[键]
    示例:
      d = {'name': 'tarena', 'age': 16}
      del d['age'] # 删除'age'这个键


练习:
  1. 算出 100 ~ 999 以内的水仙花数(Narcissistic Number)
     水仙花数是指百位的3次方 加上 十位的3次方 加上个位的3次方等于原数的数字
     例如: 
        153 等于 1**3 + 5**3 + 3**3

  2. 任意输入一些大于零数,存于列表中L,当输入-1时结束输入
    L = [1, 3, 5, 3, 7, 9, 3, 7, 6, 5]
    1) 打印出这些数
    2) 打印出这些数的和
    3) 去掉列表L中重复第二次或之后出现的数,再次存到另一个列表L2中
       L2 = [1, 3, 5, 7, 9, 6]
       打印这些数
    4) 打印L2列表中的数据的和
    5) 将 L列表中,出现两次的数存到另一个列表L3中
         L3 = [5, 7]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值