一、列表(List)

1. 基本概念

  • 定义有序的可变序列(可以修改)。
  • 基本语法:变量名称 = [元素1,元素2,元素3,元素4 …], 举例: gege1_list = [“鸡”, “xu”, “2.5” ] (元素类型可以不一样)
  • 空列表:变量名称 = [ ]、变量名称 = list()    举例: list=[ ] 、list = list()
  • 嵌套列表:gege2_list =[ [ “鸡”,“你”,“太”,“美”],[ “2.5”,“xu”,“kun”,“lianxisheng” ] ]
  • 下标索引:从前往后从0开始,每次+1,从后往前从-1开始,每次-1。
      举例: print(gege1_list ([1])    输出 :xu
      举例: print(gege1_list ([-1])    输出 :2.5
      举例: print(gege2_list ([0][1])    输出 :鸡

2. 常用方法总结

定义一个列表: gege1_list = [“鸡”, “xu”, “2.5” ]  方便后续演示…

  • 查找某元素的下标:list.index()  举例:index=gege1_list.index(“xu”)   输出:1
  • 修改特定下标索引的值:gege1_list.index[0] = “蔡某坤”   输出 :gege1_list = [“蔡某坤”, “xu”, “2.5” ]
  • 在指定下标位置插入新元素:list.insert(下标,元素)  
                    举例:gege1_list.insert(1,“中分”)  输出 :gege1_list = [“鸡”,“蔡某坤”,“中分” “xu”, “2.5” ]
  • 追加元素:list.append(元素),将指定元素追加到列表的尾部
                    举例:gege1_list.append(“中分”)  输出 :gege1_list = [“蔡某坤”,“xu”, “2.5”,“中分” ]
  • 批量追加元素:list.extend(其他数据容器)
                举例:list2 = [“1”,“2”,“3”]  gege1_list.extend(list2)  输出 :gege1_list = [“鸡”,“xu”, “2.5”,“1” ,“2” ,“3” ]
  • 删除元素:1.del list[下标]  2.list.pop(下标)(可以把删掉的元素当成返回值
                举例:del gege1_list(0)  输出 :gege1_list = [ “xu”, “2.5” ]
                举例:gege1_list.pop(0)  输出 :gege1_list = [ “xu”, “2.5” ]  取出元素:element = gege1_list.pop(0) =鸡
  • 删除某元素在列表中的第一个匹配项:list.remove(元素)
  • 清空列表:list.clear()
  • 统计某元素在列表内的数量:list.count(元素)
  • 统计列表的总共有多少元素:n = len(list)

3. 遍历列表

list = ['1','2', '3', '4','5']

def while_list():
    index = 0
    while index < len(list):
        print(list[index])
        index+=1

def for_list():
    for element in list:
        print(element)

二、元组(Tuple)

1. 基本概念

  • 定义:有序的不可变序列(不可以修改)。
  • 与列表的类似:可以封装多个、不同类型的元素在内。
  • 与列表的区别元组一旦定义完成,不允许修改
  • 基本语法:tuple = (元素,元素,元素,元素…),元素可以不同类型
  • 定义空元组:t1= ()、t2= tuple()
  • 定义单个元素的元组:t1 = (“坤坤”),必须加 不加 输出就是字符串。
  • 元组嵌套:t2 = ((1,2,3), (4,5,6)) num = t2[1][2]    输出:num=6
  • 元组内的列表可以修改:t3 = (0,1,[“坤坤”,“太美” ] )列表可以修改

2. 常用方法总结

  • 查找某元素的下标:tuple.index()
  • 统计某元素在列表内的数量:tuple.count(元素)
  • 统计列表的总共有多少元素:n = len(tuple)

三、集合(Set)

1. 基本概念

  • 定义:无序不重复的集合,集合里面的元素没有重复的,而且没有顺序
  • 基本语法:变量名称 = {元素,元素,元素,元素,元素,…}
  • 定义空集合:变量名称 = set()不支持{}去定义空集合,因为{}是空字典
  • 集合不支持while循环,下标随机

定义集合输出

my_set = {"坤坤", "爱坤", "爱坤", "爱坤","坤坤", "鸡你太美"}
my_set2 = {}
print(f"my_set的内容是:{my_set},my_set的类型是:{type(my_set)}")

输出结果可以看到内容无序且唯一

my_set的内容是:{'坤坤', '鸡你太美', '爱坤'},my_set的类型是:<class 'set'>

2. 常用方法总结

  • 集合无序,不支持下标索引访问。
  • 添加元素:my_set.add(元素)
my_set.add("python")
print(f"my_set的内容是:{my_set},my_set的类型是:{type(my_set)}")
my_set的内容是:{'python', '鸡你太美', '坤坤', '爱坤'},my_set的类型是:<class 'set'>
  • 移除元素:my_set.remove(元素)
  • 从集合中随机取元素:my_set.pop()
  • 清空集合:my_set.clear()
  • 取两个集合的差集:set3 = set1.difference(set2),集合1有而集合2没有的
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.difference(set2)
print(f"set3的内容是:{set3},set3的类型是:{type(set3)}")
set3的内容是:{2, 3},set3的类型是:<class 'set'>
  • 消除2个集合的差集:set1.difference_update(set2),集合1和集合2相同的元素删除了,集合2不发生变化
set1 = {1,2,3}
set2 = {1,5,6}
#set3 = set1.difference(set2)
set1.difference_update(set2)
print(f"set1的内容是:{set1},set1的类型是:{type(set1)}")
print(f"set2的内容是:{set2},set2的类型是:{type(set2)}")

输出:

set1的内容是:{2, 3},set1的类型是:<class 'set'>
set2的内容是:{1, 5, 6},set2的类型是:<class 'set'>
  • 集合合并:set3 = set1.union(set2)。合并后的集合无序且唯一
set1 = {1,2,3,7}
set2 = {2,1,5,6}
set3 = set1.union(set2)
print(f"set3的内容是:{set3},set3的类型是:{type(set3)}")

输出结果:

set3的内容是:{1, 2, 3, 5, 6, 7},set3的类型是:<class 'set'>
  • 统计集合元素的数量:len(set1)
set1 = {1,1,1,1,2,3,7}
print(len(set1))

输出结果:

4

四、字典(Dictonary)

1. 基本概念

定义:无序Key-Vaule集合,不可以重复,用Key取出Vaule,不可以使用下标索引。
基本语法:my_dict = {key:vaule,key:vaule,key:vaule, key:vaule, … }
空字典:my_dict = {}、my_dict =dict()
定义嵌套字典

my_dict = {
   "坤坤": {"语文":10,"数学":20,"英语":30},
    "鸡哥":{"语文":10,"数学":20,"英语":30},
    "咯咯哒":{"语文":10,"数学":20,"英语":30}
}
#print(my_dict)
score = my_dict["鸡哥"]["语文"]
print(score)

从嵌套字典中获取数据

score = my_dict["鸡哥"]["语文"]
print(score)
10

2. 常用方法总结

增加:my_dict[“篮球”]=100
修改:my_dict[“篮球”]=60,Key不可以重复,对已存在的Key修改,就是更新。
删除:score = my_dict.pop[“坤坤”]字典被移除了一个元素
清空:my_dic.clear()
获取全部的Keys:my_dic.keys()

my_dict = {
   "坤坤": {"语文":10,"数学":20,"英语":30},
    "鸡哥":{"语文":10,"数学":20,"英语":30},
    "咯咯哒":{"语文":10,"数学":20,"英语":30}
}

number = my_dict.keys()
print(number)
dict_keys(['坤坤', '鸡哥', '咯咯哒'])

遍历字典

my_dict = {
   "坤坤": {"语文":10,"数学":20,"英语":30},
    "鸡哥":{"语文":10,"数学":20,"英语":30},
    "咯咯哒":{"语文":10,"数学":20,"英语":30}
}

keys = my_dict.keys()
# 第一种遍历
for key in keys:
    print(f"字典中的key是:{key}")
    print(f"字典中的vaule是:{my_dict[key]}")
# 第二种遍历
for key in my_dict:
    print(f"字典中的key是:{key}")
    print(f"字典中的vaule是:{my_dict[key]}")

统计字典内的元素个数:num = len(my_dict)

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐