当前位置: 首页 > wzjs >正文

佳木斯做网站的公司深圳关键词seo

佳木斯做网站的公司,深圳关键词seo,南通网站建设外包,重庆政府网站官网一、Python中的字典 (一)基本概念 字典(dict)是Python中一种可变容器模型,用于存储键值对(key:value)。字典的键必须是不可变类型(如字符串、数字或元组),而…

一、Python中的字典

(一)基本概念

  • 字典(dict是Python中一种可变容器模型,用于存储键值对(key:value)。字典的键必须是不可变类型(如字符串、数字或元组),而值可以是任意类型。
  • 字典的特点:
    • 键是唯一的。
    • 无序(在Python 3.7之前是无序的,3.7及以后版本在实现上保持了插入顺序,但不应依赖此特性进行有序操作)。
    • 基于哈希表实现,查找、插入和删除操作的平均时间复杂度为O(1)

(二)创建字典

  1. 直接使用花括号创建

    empty_dict = {}  # 创建一个空字典
    my_dict = {"name": "Alice", "age": 25, "is_student": False}
    
  2. 使用dict函数创建

    • 通过键值对列表创建:
      dict_from_pairs = dict([("key1", "value1"), ("key2", "value2")])
      
    • 通过关键字参数创建:
      dict_from_kwargs = dict(key1="value1", key2="value2")
      

(三)访问和操作字典

  1. 访问元素

    • 使用dict[key]访问值:
      print(my_dict["name"])  # 输出Alice
      
      如果键不存在,会抛出KeyError异常。
    • 使用get()方法访问值:
      print(my_dict.get("age"))  # 输出25
      print(my_dict.get("gender", "Unknown"))  # 输出Unknown,因为gender键不存在
      
  2. 添加和修改元素

    • 添加键值对:
      my_dict["gender"] = "Female"
      
    • 修改键值对:
      my_dict["age"] = 26
      
  3. 删除元素

    • 使用del语句删除键值对:
      del my_dict["is_student"]
      
    • 使用pop()方法删除键值对并返回值:
      value = my_dict.pop("age", None)  # 删除age键,并将对应的值赋给value
      
    • 使用clear()方法清空字典:
      my_dict.clear()
      
  4. 检查键是否存在

    • 使用in关键字:
      if "name" in my_dict:print("Key exists")
      

(四)遍历字典

  1. 遍历键

    for key in my_dict:print(key)
    
  2. 遍历值

    for value in my_dict.values():print(value)
    
  3. 同时遍历键和值

    for key, value in my_dict.items():print(key, value)
    

二、C++中的std::map

(一)基本概念

  • std::map是C++标准模板库(STL)中的一种关联容器,用于存储键值对。它基于红黑树实现,保证了键的唯一性。
  • 特点:
    • 键是唯一的。
    • 有序,键会按照升序排列。
    • 查找、插入和删除操作的时间复杂度为O(log n)

(二)创建std::map

  1. 直接初始化

    #include <map>
    #include <iostream>
    using namespace std;int main() {map<int, string> my_map = {{1, "Alice"}, {2, "Bob"}};return 0;
    }
    
  2. 使用insert()方法

    my_map.insert(pair<int, string>(3, "Charlie"));
    

(三)访问和操作std::map

  1. 访问元素

    • 使用operator[]访问值:
      cout << my_map[1] << endl;  // 输出Alice
      
      如果键不存在,operator[]会自动插入一个默认构造的值。
    • 使用at()方法访问值:
      cout << my_map.at(2) << endl;  // 输出Bob
      
      如果键不存在,at()会抛出std::out_of_range异常。
  2. 添加和修改元素

    • 添加键值对:
      my_map[3] = "Charlie";
      
    • 修改键值对:
      my_map[1] = "Alice Updated";
      
  3. 删除元素

    • 使用erase()方法删除键值对:
      my_map.erase(1);
      
    • 使用clear()方法清空整个map
      my_map.clear();
      
  4. 检查键是否存在

    • 使用find()方法:
      if (my_map.find(2) != my_map.end()) {cout << "Key exists" << endl;
      }
      

(四)遍历std::map

  1. 使用迭代器遍历

    for (auto it = my_map.begin(); it != my_map.end(); ++it) {cout << it->first << " " << it->second << endl;
    }
    
  2. 使用C++11范围for循环

    for (const auto& pair : my_map) {cout << pair.first << " " << pair.second << endl;
    }
    

三、C++中的std::unordered_map

(一)基本概念

  • std::unordered_map也是C++标准模板库(STL)中的一种关联容器,用于存储键值对。它基于哈希表实现,保证了键的唯一性。
  • 特点:
    • 键是唯一的。
    • 无序,键值对的存储顺序是随机的。
    • 查找、插入和删除操作的平均时间复杂度为O(1)

(二)创建std::unordered_map

  1. 直接初始化

    #include <unordered_map>
    #include <iostream>
    using namespace std;int main() {unordered_map<int, string> my_umap = {{1, "Alice"}, {2, "Bob"}};return 0;
    }
    
  2. 使用insert()方法

    my_umap.insert(pair<int, string>(3, "Charlie"));
    

(三)访问和操作std::unordered_map

  1. 访问元素

    • 使用operator[]访问值:
      cout << my_umap[1] << endl;  // 输出Alice
      
      如果键不存在,operator[]会自动插入一个默认构造的值。
    • 使用at()方法访问值:
      cout << my_umap.at(2) << endl;  // 输出Bob
      
      如果键不存在,at()会抛出std::out_of_range异常。
  2. 添加和修改元素

    • 添加键值对:
      my_umap[3] = "Charlie";
      
    • 修改键值对:
      my_umap[1] = "Alice Updated";
      
  3. 删除元素

    • 使用erase()方法删除键值对:
      my_umap.erase(1);
      
    • 使用clear()方法清空整个unordered_map
      my_umap.clear();
      
  4. 检查键是否存在

    • 使用find()方法:
      if (my_umap.find(2) != my_umap.end()) {cout << "Key exists" << endl;
      }
      

(四)遍历std::unordered_map

  1. 使用迭代器遍历

    for (auto it = my_umap.begin(); it != my_umap.end(); ++it) {cout << it->first << " " << it->second << endl;
    }
    
  2. 使用C++11范围for循环

    for (const auto& pair : my_umap) {cout << pair.first << " " << pair.second << endl;
    }
    

http://www.dtcms.com/wzjs/351267.html

相关文章:

  • 2018做网站的软件成品视频直播软件推荐哪个好用
  • WORDPRESS网站如何改版外贸网站平台有哪些
  • wordpress 搜索 标题 内容网络营销优化
  • 网站建设与实践心得体会画质优化app下载
  • 网站建设与设计教程视频网络兼职平台
  • 网站建设设计服务网络公司推广公司
  • 怎么做网站旅游宣传知名网络软文推广平台
  • 外汇平台网站开发需求说明seo入门免费教程
  • 做相亲网站的红娘累吗中国楼市最新消息
  • 涂料厂做网站有用吗手机百度账号申请注册
  • 做医药行业找药的网站上海关键词排名搜索
  • 做emc的有哪些网站软文推广收费
  • 卡密提取网站怎么做腾讯企业qq
  • 可以做数学题的网站凡科建站靠谱吗
  • 最早做网购的网站公司网站免费建站
  • 济南建设信息网官网seo数据监控平台
  • 做网站 哪里发布建立一个网站需要花多少钱
  • 最好的网站开发系统百度搜图
  • 黑龙江省建设厅网站的电话官网seo关键词排名系统
  • 网站建设作业百度云资源友情链接购买网站
  • 怎么根据网站做二维码四平网站seo
  • 做网站要先做商标吗百度快速排名优化服务
  • 做公司永久免费网站什么好百度广告联盟价格
  • wordpress下拉导航seo排名优化的方法
  • 酒泉市住房和城乡建设局网站广州网站关键词推广
  • 胶州哪里有做网站的百度百度一下你就知道
  • 网站设计的软件当日alexa排名查询统计
  • 衣联网和一起做网站。哪家强品牌整合营销
  • 健身顾问在哪些网站做推广深圳百度seo整站
  • 网站建设几大技巧百度推广关键词越多越好吗