目录

一、列表 list

1.1基本语法

1.2 常用操作方法

1.3 列表的遍历

二、元组 tuple

特点:

三、字符串

常用操作方法:

四、序列

操作方法:切片

五、元素

特点:

 基本语法:

集合常用功能:

六、字典

定义:

注意事项:


什么是容器

        可以存储多个元素的python数据类型

python有哪些数据容器

        list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)

一、列表 list

1.1基本语法

# 定义变量

变量名称 = [元素1, 元素2,… ]

# 空变量

变量名称 = [ ]

变量名称 = list()

# 嵌套

变量名称 = [ [ 元素1,元素2,… ] , [ 元素1,元素2,… ] ]

#下标索引

左到右从0开始,右到左从-1开始

代码示例

list_name = ["aaa", "bbb", "ccc"]
print(list_name)
print(type(list_name))

list_name = ["aaa", 123, True]
print(list_name)
print(type(list_name))

list_name = [ [1,2,3], [4,5,6] ]
print(list_name[1][1]) # 5
print(list_name[1][-2]) # 5
print(list_name)
print(type(list_name))

1.2 常用操作方法

 查找某元素在列表中的下标索引

语法:列表.index(元素)

修改特定位置的元素值

语法:列表.index [ 下标 ] = 值

指定位置插入元素

语法:列表.insert ( 下标 ,值 )

追加元素,指定元素插入列表尾部

语法1:列表.append( 元素 )

语法2:列表.extend ( 其他数据容器 )

删除元素

语法1:del 列表[ 下标 ]

语法2:列表.pop( 下标 )  # 删除指定元素后返回这个元素的内容

删除元素在列表中第一个匹配的内容

语法:列表.remove( 元素 )

清空列表元素

语法:列表.clear()

统计某元素在列表中的数量

语法:列表.count( 元素 )

统计列表中的所有元素个数

语法:len(列表)

代码示例 

list_name = [1, 2, 3, 4, 5]
print(list_name.index(3)) # 2

list_name[2] = -3
print(list_name) # [1, 2, -3, 4, 5]

list_name.insert(2, 3)
print(list_name) # [1, 2, 3, -3, 4, 5]

list_name.append(6)
print(list_name) # [1, 2, 3, -3, 4, 5, 6]

list_name2 = [7, 8]
list_name.extend(list_name2)
print(list_name) # [1, 2, 3, -3, 4, 5, 6, 7, 8]

del list_name[3]
print(list_name) # [1, 2, 3, 4, 5, 6, 7, 8]
num = list_name.pop(7)
print(list_name,num) # [1, 2, 3, 4, 5, 6, 7] 8

list_name.remove(7)
print(list_name) # [1, 2, 3, 4, 5, 6]

print(list_name.count(2)) # 1
print(len(list_name)) # 6

list_name.clear()
print(list_name) # []

1.3 列表的遍历

while遍历 

while_list = [1,2,3]
index = 0
while index < len(while_list):
    element = while_list[index]
    print(f"列表while_list元素:{element}")
    index += 1

 for遍历

for_list = [1,2,3,4,5]
for element in for_list:
    print(f"列表for_list元素:{element}")

二、元组 tuple

特点:
  • 内容不可修改 (若内部嵌套一个 list 则可修改 list 中的内容)
  • 语法: 变量名称 = ( 元素1 , 元素2,…)
  • 单个元素的元组:  变量名称 = ( 元素 ,)
  • 与 list 基本相同
  • 支持for循环和while循环
  • 三、字符串 str

    常用操作方法:

    将字符串内的全部字符串1,改为字符串2。不会修改原字符串,会得到一个新的字符串:

    字符串.replace("字符串1" ,"字符串2")

    对字符串进行分割,会得到一个新的列表

    字符串.split(字符串)

     

    其他操作方法与之前相同

    代码示例

    s = "jian yi"
    new_s = s.replace("i", "o")
    print(f"新字符串为{new_s}")  # 新字符串为joan yo
    s_list = s.split(" ")
    print(f"分割前的字符串为:{s}、分割后:{s_list}、分割后类型为:{type(s_list)}")  # 分割前的字符串为:jian yi、分割后:['jian', 'yi']、分割后类型为:<class 'list'>

    四、序列

    概念:内容连续、有序,可使用下标索引的一类数据容器。

    列表、元组、字符串,均可视为序列

    操作方法:切片

    序列[起始下标:结束下标:步长]  # 步长默认为1

     代码示例

    list1 = [1,2,3,4,5,6,7]
    new_list1 = list1[1:5]
    print(f"{new_list1}")
    
    list1 = [1,2,3,4,5,6,7]
    new_list1 = list1[5:1:-1]
    print(f"{new_list1}")
    
    str1 = "0123456789"
    new_str1 = str1[::-1] # 等同于反转
    print(f"{new_str1}")

    五、集合 set

    特点:

    之前所学容器对内容都可重复的、而元素不支持重复元素

    不支持下标索引访问

     基本语法:

    #  定义集合字面量

    {元素1 ,元素2,…}

    #  定义集合变量

    变量名称 = {元素1 ,元素2,…}

    #  定义空集合

    变量名称 = set( )

    集合常用功能:

    集合内添加一个元素:集合.add(元素)

    移除集合内指定元素:集合.remove(元素)

    从集合中随机取出一个元素:集合.pop()

    将集合清空:集合.clear()

    得到新集合,内含两个集合的差集,原有的2个集合内容不变:集合1.difference(集合2)

    集合1中删除集合2中存在的元素,集合1会被修改集合2不变:集合1.difference_update(集合2)

    两集合相加(不含重复元素):集合1.union(集合2)

    得到集合中元素数量:len(集合)

     代码示例

    # 集合的定义
    set1 = {1,2,3,4,5,6,7,8,8}
    set2 = set()
    print(f"set1的内容:{set1},类型为:{type(set1)}") # set1的内容:{1, 2, 3, 4, 5, 6, 7, 8},类型为:<class 'set'>
    print(f"set2的内容:{set2},类型为:{type(set2)}") # set2的内容:set(),类型为:<class 'set'>
    # 添加新元素
    set1.add(9)
    print(f"set1的内容:{set1}") # set1的内容:{1, 2, 3, 4, 5, 6, 7, 8, 9}、
    # 移除元素
    set1.remove(9)
    print(f"set1的内容:{set1}") # set1的内容:{1, 2, 3, 4, 5, 6, 7, 8}
    # 随机取出一个元素
    element = set1.pop()
    print(f"随机取出来的元素为:{element}") # 1
    print(f"set1的内容:{set1}") # set1的内容:{2, 3, 4, 5, 6, 7, 8}
    # 清空集合
    set1.clear()
    print(f"set1的内容:{set1}") # set1的内容:set()
    # 取两个集合的差集
    set1 = {1,2,3}
    set2 = {2,3,4}
    set3 = set1.difference(set2)
    print(f"set3的内容:{set3}") # set3的内容:{1}
    print(f"set1的内容:{set1}") # set1的内容:{1, 2, 3}
    print(f"set2的内容:{set2}") # set2的内容:{2, 3, 4}
    # 消除两集合的差集
    set1.difference_update(set2)
    print(f"set1的内容:{set1}") # set1的内容:{1}
    print(f"set2的内容:{set2}") # set2的内容:{2, 3, 4}
    # 两个集合合并为一个
    set1 = {1,2,3}
    set2 = {2,3,4}
    set3 = set1.union(set2)
    print(f"set3的内容:{set3}") # set3的内容:{1, 2, 3, 4}
    # 统计集合元素数量
    set1 = {1,2,3,4,4,5,6,7,65,74,353}
    num = len(set1)
    print(f"set1内元素数量为:{num}") # set1内元素数量为:10
    # 集合的遍历 --- 不能使用while循环进行,因为不支持下标访问
    set1 = {2,3,4}
    for element in set1:
        print(f"集合的元素有:{element}")

    六、字典 dict

    定义:

    # 定义字典变量

    dict1 = {key:value,key:value,key:value}

    # 定义空字典

    dict1 = { }

    dict2 = dict()

    注意事项:
  • 键值对的key和value可以是任意类型(key不能为字典)
  • 字典内key不允许重复,重复添加等于覆盖原有数据
  • 字典不可用下标索引,而是通过key检索value
  • 代码示例

    dict1 = {"张":1,"王":2,"李":3,"赵":4}
    print(f"{dict1},类型为:{type(dict1)}") # {'张': 1, '王': 2, '李': 3, '赵': 4},类型为:<class 'dict'>
    # 新增元素 | 更新元素
    dict1["五"] = 5
    dict1["张"] = 10
    print(f"新增元素和更新元素后的dict1{dict1}") # 新增元素和更新元素后的dict1{'张': 10, '王': 2, '李': 3, '赵': 4, '五': 5}
    # 删除元素
    num = dict1.pop("张")
    print(f"删除后的dict1{dict1},对应的value为:{num}") # 删除后的dict1{'王': 2, '李': 3, '赵': 4, '五': 5},对应的value为:10
    # 获取全部的key
    keys = dict1.keys()
    print(f"获取的dict1的全部的key为:{keys}") # 获取的dict1的全部的key为:dict_keys(['王', '李', '赵', '五'])
    # 遍历字典
    for key in keys:
        print(f"字典的key为:{key}")
        print(f"字典的value为:{dict1[key]}")
    
    for key in dict1:
        print(f"字典的key为:{key}")
        print(f"字典的value为:{dict1[key]}")
    # 统计字典内元素数量
    num = len(dict1)
    print(f"字典中元素个数是:{num}") # 字典中元素个数是:4 

    作者:简易091

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【python】3_容器

    发表回复