zoukankan      html  css  js  c++  java
  • Python中(集合、元祖、字典)等词汇基本语法

    一、集合

      1. 集合(set)

      2. 集合内部数据,不可重复;可用于去重

      代码如下

      l1 = [ 1, 3, 5, 7, 9, 1, 4, 6, 8, 10, 20]#数组
      s1 = set(l1)#数组转集合
      l2 = list(s1)#集合转数组
      print(s1)
      print(l2)

      打印结果

      {1, 3, 4, 5, 6, 7, 8, 9, 10, 20}

      [1, 3, 4, 5, 6, 7, 8, 9, 10, 20]

      3. 集合方式可分为:集合数据增加、合并集合、交集、并集、差集

      集合数据增加

      代码如下

      s1.add(30)
      s1.add(50)
      l2.insert(len(l2), 30)
      l2.insert(len(l2), 50)
      print(s1)
      print(l2)

      结果打印

      {1, 3, 4, 5, 6, 7, 8, 9, 10, 50, 20, 30}
      [1, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 50]

      合并集合

      代码如下

      d1 = {1, 3, 5, 7,9}
      d2 = {2, 4, 6, 8}
      d1.update(d2)
      print(d1)

      结果打印

      {1, 2, 3, 4, 5, 6, 7, 8, 9}

      交集

      代码如下

      d3 = {1, 2, 3, 4}
      d4 = {2, 3, 4, 5}
      d5 = d3.intersection(d4)
      print("d5", d5)

      结果打印

      d5 {2, 3, 4}

      并集

      代码如下

      d6 = d3.union(d4)
      print(d6)

      结果打印

      {1, 2, 3, 4, 5}

      差集

      代码如下

      d7 = d4 ^ d3
      print(d7)

      结果打印

      {1, 5}

    二、元祖

      元祖与数组的区别:

      1. 元祖的数据,不可修改,不可删除

      2. 声明方式不同
      元祖与数组的共同点: 取值及常用方法类似,只要不是修改元祖数据的操做就都可以执行

        1.cmp(tuple1, tuple2)
        比较两个元组元素。
        2.len(tuple)
        计算元组元素个数。
        3.max(tuple)
        返回元组中元素最大值。
        4.min(tuple)
        返回元组中元素最小值。
        5.tuple(seq)
        将列表转换为元组。

    三、字典

      字典,约等于 json

      user = {"name": "小王", "age": 18, "address": "北京"}
      print(user)
     结果打印
      {'name': '小王', 'age': 18, 'address': '北京'}

      增:增加字典词汇

      new_user['name'] = 'xioli'
      new_user['age'] = 21
      new_user['inst'] = ['计算机', '英语', '语文']
      new_user['score'] = 100
      print(new_user)
     结果打印
      {'name': 'xioli', 'age': 21, 'inst': ['计算机', '英语', '语文'], 'score': 100}

      删:删除字典词汇

      通过del删除

      del new_user['name']
      print(new_user)

      通过pop删除

           print(new_user.pop('name'))

        print(new_user)

      查:查询字典词汇

      print(new_user['age'])

      new_user.items()
      new_user.keys()
      new_user.values()
      print("user.items", new_user.items())
      print("user.keys", new_user.keys())
      print("user.values", new_user.values())

      改:修改(重写)字典词汇

      new_user['age']=19
      print(new_user)

      遍历:

      通过keys遍历

      for i in new_user.keys():
          print(i, "的值是:")
          print(new_user[i])

      通过items遍历

      for x in new_user.items():
          print(x)
          print(x[0], x[1])

      多变量循环

      for k, v in new_user.items():
          print(k, v)

      获取结果

      print(new_user.get('age')) #返回Value
      print(new_user.get('00088880004')) #不存在返回None
    上述结果打印如下

    =================增加============================================
    {'name': 'xioli', 'age': 21, 'inst': ['计算机', '英语', '语文'], 'score': 100}
    {1001: {'name': 'xiaozhang', 'age': 18}, 1002: {'name': 'xiaobai', 'age': 19}, 1003: {'name': 'xiaohei', 'age': 28}, 1004: {'name': 'xiaohong', 'age': 12}}
    =================删除============================================
    {'name': '小王', 'age': 18, 'address': '北京'}
    小王
    {'age': 18, 'address': '北京'}
    =================修改============================================
    {'age': 18, 'address': '北京', 'init': [1, 2, 3, 4, 5, 6]}
    {'age': 18, 'address': '北京', 'init': [2, 3, 4, 5, 6, 7]}
    ==============查询===============================================
    北京
    18
    =================遍历============================================
    user.items dict_items([('age', 18), ('address', '北京'), ('init', [2, 3, 4, 5, 6, 7])])
    user.keys dict_keys(['age', 'address', 'init'])
    user.values dict_values([18, '北京', [2, 3, 4, 5, 6, 7]])
    =========开始通过keys遍历=======
    age 的值是:
    18
    address 的值是:
    北京
    init 的值是:
    [2, 3, 4, 5, 6, 7]
    =========开始通过items遍历=======
    ('age', 18)
    age 18
    ('address', '北京')
    address 北京
    ('init', [2, 3, 4, 5, 6, 7])
    init [2, 3, 4, 5, 6, 7]
    ===========两个变量循环=======
    age 18
    address 北京
    init [2, 3, 4, 5, 6, 7]
    ========判断key是否存在========
    None
    18

      

      

  • 相关阅读:
    nginx -s reload 时报错 [error] open() "/run/nginx.pid" failed (2: No such file or directory)
    系统调用(四):SSDT
    系统调用(三): 分析KiFastCallEntry(二)
    系统调用(二): 分析KiFastCallEntry(一)
    系统调用(一): 重写WriteProcessMemory
    CVE-2009-0927分析
    CVE-2008-0015分析
    CVE-2006-4868分析
    在linux上使用impdp命令时提示ORA-12154: TNS:could not resolve the connect identifier specified的问题
    破解myeclipse10失败的一个奇葩原因
  • 原文地址:https://www.cnblogs.com/huajie-chj/p/14211535.html
Copyright © 2011-2022 走看看