Python基础复习

可变数据类型和不可变数据类型

基本数据类型(整型(int)字符串(string),列表(list),集合(set),字典(dict),元祖(tuple)

可变数据类型(列表,字典,集合)

不可变数据类型(整型,字符串,元祖)

集合和元祖的区别:

  1. 元素的唯一性
    • 集合:集合中的元素是唯一的,也就是说,集合会自动去除重复的元素。
    • 元组:元组中可以包含重复的元素,元组保存元素的顺序和重复状态。
  2. 可变性
    • 集合:集合是可变的,这意味着你可以在创建后添加或删除元素。
    • 元组:元组是不可变的,一旦创建,其内的元素不可更改。
  3. 元素的顺序
    • 集合:集合是无序的,这意味着集合中的元素没有固定的顺序,它们可能每次呈现时都有不同的顺序。
    • 元组:元组是有序的,元素的顺序一旦定义,在元组的整个生命周期中都不会改变。

语法结构

  • 集合:集合用大括号 {} 创建,例如 my_set = {1, 2, 3}
  • 元组:元组用小括号 () 创建,例如 my_tuple = (1, 2, 3)。如果元组中只有一个元素,需要在元素后面添加逗号,如 (1,),否则它不会被识别为元组。

深浅拷贝

在进行对象是否相等比较的时候我们可以用 is==

  • is: 比较两个对象的引用是否相同,即 它们的id 是否一样

  • == : 比较两个对象的值是否相同。

  • 浅拷贝: 拷贝的是对象的引用,如果原对象改变,相应的拷贝对象也会发生改变

    import copy
    
    original_list = [[1, 2, 3], [4, 5, 6]]
    shallow_copied_list = copy.copy(original_list)
    
    # 修改原始列表中的一个子列表的元素
    original_list[0][0] = 'X'
    
    # 输出结果
    print(shallow_copied_list)  # 结果会显示 'X',因为子列表是通过引用拷贝的
    
  • 深拷贝: 拷贝对象中的每个元素,拷贝对象和原有对象不在有关系,两个是独立的对

    import copy
    
    original_list = [[1, 2, 3], [4, 5, 6]]
    deep_copied_list = copy.deepcopy(original_list)
    
    # 修改原始列表中的一个子列表的元素
    original_list[0][0] = 'X'
    
    # 输出结果
    print(deep_copied_list)  # 结果不会显示 'X',因为进行了深拷贝
    

你可能感兴趣的:(python,开发语言)