首页 > 其他 > 详细

列表、元组、字典和集合

时间:2019-10-24 18:13:44      阅读:88      评论:0      收藏:0      [点我收藏+]

一、列表

  1.表示方法:中括号括起来,元素之间用“,”隔开。

    li = [1, "", 45, ["", 78, True], "", 89]

  2.特点:

    1)list中的元素数据类型可以不同,可以有数字、字符串、列表以及布尔型等。

    2)list是可变的有序表,元素可以重复。

    3)可以改变其元素的值。

    4)可以使用索引和切片进行元素的操作。

  3.操作方法:

    1)修改元素。 

       li = [1, "", 45, ["", 78, True], "", 89]
    
# 修改元素     li[0] = 14     print(li) #[14, ‘赵‘, 45, [‘钱‘, 78, True], ‘孙‘, 89]          li[1:3] = [4, ""]     print(li) # [1, 4, ‘李‘, [‘钱‘, 78, True], ‘孙‘, 89]

     2)删除元素。             

       # 删除元素
    del li[1]
    print(li)  # [14, 45, [‘钱‘, 78, True], ‘孙‘, 89]
  
    del li[1:5]
    print(li)  # [1, 89]  
    
       # 删除列表尾部元素
       li.pop()
       print(li)  # [1, ‘赵‘, 45, [‘钱‘, 78, True], ‘孙‘]

    # 删除指定位置元素,并获取当前被删除的值
    li.pop(1)
    print(li)  # [1, 45, [‘钱‘, 78, True], ‘孙‘, 89]
    
    # 删除指定元素
    li.remove(45)
    print(li)  # [1, ‘赵‘, [‘钱‘, 78, True], ‘孙‘, 89]

    # 清空
    li.clear()
    print(li)  # []

     3)添加元素。

    # 添加元素
    li.append(5)
    li.append("")
    print(li)  # [1, ‘赵‘, 45, [‘钱‘, 78, True], ‘孙‘, 89, 5, ‘周‘]

    # 指定位置插入元素
    li.insert(3, "")
    print(li)  # [1, ‘赵‘, 45, ‘吴‘, [‘钱‘, 78, True], ‘孙‘, 89]

    # 将可迭代对象中的元素添加到列表中     li.extend(["", 78])     li.extend("asdfg")     print(li) # [1, ‘赵‘, 45, [‘钱‘, 78, True], ‘孙‘, 89, ‘郑‘, 78, ‘a‘, ‘s‘, ‘d‘, ‘f‘, ‘g‘]

     4)计算元素个数。

    # 计算元素的个数
    num = li.count(1)
    print(num)  # 1

     5)查找。

    # 根据元素值寻找位置
    a = li.index(45)
    print(a)  # 2

    # 根据位置寻找元素值     b = li[3]     print(b) #[‘钱‘, 78, True]

     6)反转。  

    num = [11, 45, 78, 35, 25]
    num.reverse()
    print(num)  # [25, 35, 78, 45, 11]

     7)排序。

    num = [11, 45, 78, 35, 25]
    num.sort()
    print(num)  # [11, 25, 35, 45, 78]

 

 二、元组

  1.表示方法:括号括起来,元素之间用“,”隔开,为了方便区别,一般在元组的最后的一个元素后面添加一个“,”。

    tu = (11, 22, "", [55, "", 87], ("", 56),)
    print(tu)  # (11, 22, ‘赵‘, [55, ‘钱‘, 87], (‘孙‘, 56))

   2.特点:

    1)tuple中的元素数据类型可以不同,可以有数字、字符串、列表、元组以及布尔型等。

    2)tuple是不可变的有序表,元素可以重复。

    3)不能改变其元素的值,但是tuple中有list则可以改变list中的元素的值。

    4)可以使用索引和切片进行元素的操作。

  3.操作方法:

    1)统计元素个数。

    num = tu.count(22)
    print(num)  # 1

    2)查找元素的位置。

    ind = tu.index(22)
    print(ind)  # 1

 

 三、字典

  1.表示方法:用大括号括起来,元素之间用“,”隔开,每一个元素叫做一个键值对(key-value)。   

    info = {"key1": 28, "key": "S"}

   2.特点:

    1)键值对中的值可以是任意值,键不能是列表、字典,只能是不可变对象。

    2)dict无序的、元素不可重复。

    3)一个key只能对应一个value。可以通过key来查找value和改变value的值。

  3.操作方法:

    1)通过key查找value以及修改value。    

    info = {"key1": 28, "key2": "S", "key3": ["", "", 78, 98]}
    
# 通过key查找value,通过下面这种方法,如若未找到key,则报错。     a = info["key2"]     b = info["key3"][2]     print(a) # S     print(b) # 78     #通过这种方式。如若找不到key则返回None.     v = info.get("key1")     print(v) # 28

    # 通过修改value          info["key1"] = 145          print(info) # {‘key1‘: 145, ‘key2‘: ‘S‘, ‘key3‘: [‘赵‘, ‘钱‘, 78, 98]}

    2)删除。    

    # 删除键值对
    del info["key1"]
    print(info)  # {‘key2‘: ‘S‘, ‘key3‘: [‘赵‘, ‘钱‘, 78, 98]}

    # 清空键值对
    info.clear()
    print(info)  # {}   

    
    # pop 指定key进行删除
    v = info.pop("key1")
    print(info, v)  # {‘key2‘: ‘S‘, ‘key3‘: [‘赵‘, ‘钱‘, 78, 98]} 28

    # popitem随机删除
    m = info.popitem()
    print(info, m)  # {‘key2‘: ‘S‘} (‘key3‘, [‘赵‘, ‘钱‘, 78, 98])

    3)dict的for循环。 

    # for循环输出键key
    for k in info.keys():
      print(k, end=" ")       print()     # key1 key2 key3     # for循环输出键value     for v in info.values():
      
print(v, end=" ")
      print()     # 28 S [‘赵‘, ‘钱‘, 78, 98]     # for循环输出键值对     for k, v in info.items():       print(k, v)       print()     # key1 28     # key2 S     # key3 [‘赵‘, ‘钱‘, 78, 98]

     4)fromkeys。根据序列创建字典,并指定统一的值。

    v = dict.fromkeys([11, "", ""],[ 123,"666",78])
    print(v)  # {11: [123, ‘666‘, 78], ‘孙‘: [123, ‘666‘, 78], ‘李‘: [123, ‘666‘, 78]}

    5)setdefault。key已存在,不设置,返回当前key对应的值。不存在,则设置,返回新的key对应的值。

    v = info.setdefault("key1", "")
    print(info, v)  # {‘key1‘: 28, ‘key2‘: ‘S‘, ‘key3‘: [‘赵‘, ‘钱‘, 78, 98]} 28

    m = info.setdefault("key4", "")
    print(info, m)  # {‘key1‘: 28, ‘key2‘: ‘S‘, ‘key3‘: [‘赵‘, ‘钱‘, 78, 98], ‘key4‘: ‘吴‘} 吴

     6)update。key已存在,则更新value的值,key不存在,则添加新的键值对。

    info.update({"key1": 999, "key6": ""})
    print(info)  # {‘key1‘: 999, ‘key2‘: ‘S‘, ‘key3‘: [‘赵‘, ‘钱‘, 78, 98], ‘key6‘: ‘郑‘}

    info.update(key1=999, key6="")
    print(info)  # {‘key1‘: 999, ‘key2‘: ‘S‘, ‘key3‘: [‘赵‘, ‘钱‘, 78, 98], ‘key6‘: ‘郑‘}

 

四、Set集合

  1.表示方法:可以使用大括号 { } 或者 set() 函数创建集合,使用set()创建集合时,set括号里是可迭代对象,使用”{}“创建时元素是不可变对象。

        注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。     

    s = {11, "", 89}
    l = [22, "", 56]
    x = set(l)
    print(s, x)  # {89, 11, ‘赵‘} {‘钱‘, 56, 22}

 

 

  2.特点:

    1)set中的元素数据类型可以不同。

    2)set是无序的,元素不可重复的。

  3.操作方法:

    1)添加元素。   

    s = {11, "", 89}
    
# 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。只能添加不可变对象。     s.add((45, 89))     print(s) # {89, (45, 89), 11, ‘赵‘}     # 参数可以是列表,元组,字典等     s.update([78, 415])     print(s) # {‘赵‘, (45, 89), 11, 78, 89, 415}

 

    2)移除元素。   

 

    # 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。只能移除不可变对象
    s.remove((45, 89))
    print(s)  # {‘赵‘, 11, 78, 89, 415}

    # 如果元素不存在,不会发生错误。只能移除不可变对象
    s.discard(23)
    print(s)  # {89, 11, ‘赵‘,78,89}

    # 随机删除
    s.pop()
    print(s)  # {78, ‘赵‘, 89, 415}

 

    3)清空元素。  

    s.clear()
    print(s)  # set()

 

列表、元组、字典和集合

原文:https://www.cnblogs.com/Sssun/p/11731109.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!