列表的内置方法 字典的内置方法 元组的内置方法 集合的内置方法

内容概要

  • 列表的内置方法
  • 字典的内置方法
  • 元组的内置方法
  • 集合的内置方法
  • 习题

内容详情

列表的内置方法

1.颠倒列表内的元素顺序 list.reverse() 索引反向切片

1.reverse()
    l = [11,22,33,22,44]
    l.reverse()
    print(l)  # l = [11,22,33,22,44]

2.索引反向切片
l = [11,22,33,22,44]
print(l[::-1])  # l = [11,22,33,22,44]

2.列表排序 list.sort()

1.升序  list.sort(self, key=None, reverse=False)  默认为升序
    l = [1,4,6,3,8]
    l.sort()
    print(l)  # [1, 3, 4, 6, 8]
    
    l = [1,1.2,2.5,3]
    l.sort()
    print(l)  # [1, 1.2, 2.5, 3]

2.降序  list.sort(reverse=True)
    l = [1,4,6,3,8]
    l.sort(reverse=True)
    print(l)  # [8, 6, 4, 3, 1]
    l = [1,1.2,2.5,3]
    l.sort()
    print(l)  # [1, 1.2, 2.5, 3]
    
3.字符串、列表也可以比较大小
	3.1 字符串比较大小 按照 ASCII表的大小顺序
    s1 = 'hello'
    s2 = 'world'
    print(s1 > s2) # 字符之间的大小取决于它们在ASCII表中的先后顺序,越往后越大
    3.2 列表比较大小
    l1 = [33,44,55,66]
    l2= [22,55,66,77]
    print(l1>l2)  # True   按照列表的索引一一对应比较,只要有一个比较出来,都不在往下比较

元组的内置方法

1.元组可以存取任意类型的元素,它与列表的不同之处在于不能够修改,可称为不可变类型的元组,用于记录多个固定不能够修改的值,单纯用于取
2.类型转换:tuple() 能够被for循环遍历的数据类型都可以穿个tuple()转换成元组
    print(tuple(123))  # 报错
    print(tuple(123.3))  # 报错
    print(tuple({'name':'nana','age':19}))  # ('name', 'age')

1.索引取值

t1 = (1,'nan',1.2)
print(t1[2])  # 1.2
print(t1[-1])  # 1.2

t1[2] = 3
print(t1)  # 报错  元组不能够修改

ps:当元素的内部只有一个元素的时候,记得在后面加上逗号,否则数据类型就不是元组了
	t1 = (1)
    t2 =(1,)
    print(type(t1))  # <class 'int'>
    print(type(t2))  # <class 'tuple'>

2.切片 顾头不顾尾

t1 = (1,2,3,4)
print(t1[1:3]) # (2, 3)

3.计算长度 len()

t1 = (1,2,3,4)
print(len(t1))  #4

4.成员运算 in 与 not in

1.in
t1= (1,2,3,'nana')
    print(2 in t1)  # True
    print('nana1' in t1)  # False

2.not in
    print(1 not in t1)  #  False
    print('nana1' not in t1)  # True

字典的内置方法

1.定义:是用大括号括起来的,内部存放了多个元素,元素之间用了逗号隔开以k:v键值对的形式存在
	k:是对v的描述性信息,一般是不可变类型(整型,字符串)
    v:可以是任意的数据类型
2.定义字典的方式
    2.1 dic1 = {'name':'nana','age':18}
    2.2 dic3 = dict(name = 'nana',age=18)
    2.3 dic4 = dict([['name','nana'],['age',18]])
        print(dic1)  # {'name': 'nana', 'age': 18}
        print(dic3)  # {'name': 'nana', 'age': 18}
        print(dic4)  # {'name': 'nana', 'age': 18}

1 .增删改查相关操作

dic1 = {
    'name':'nana',
    'age':18,
    'pwd':123,
    'hobby':['read','play']
    
}
1.增加数据
  eg:
  dic1['salary'] = 100000
  print(dic1)  # {'name': 'nana', 'age': 18, 'pwd': 123, 'hobby': ['read', 'play'], 'salary': 100000}
2.删除数据
  2.1 del直接删
    eg:
    del dic1['name']
    print(dic1)  # {'age': 18, 'pwd': 123, 'hobby': ['read', 'play']}
  2.2 dict.pop()  >>>pop括号里天要删除的键
    eg:
    res = dic1.pop('name')
    print(dic1)  # {'age': 18, 'pwd': 123, 'hobby': ['read', 'play']}
    print(res)  # nana 
  2.3 dict.popitem() 随机删除一组键值对,并将删除的键值放到元组内返回
    eg:
    dic1.popitem()
    print(dic1)  # {'name': 'nana', 'age': 18, 'pwd': 123}
3.修改数据  >>>键存在则修改,键不存在则新增
  eg:
  dic1['name'] = 'xiaoxiao'
  print(dic1)  # {'name': 'xiaoxiao', 'age': 18, 'pwd': 123, 'hobby': ['read', 'play']}
4.查 快速获取键值对数据  dict.keys()   dict.values()  dict.items()
  eg:
  print(dic1.keys())  # dict_keys(['name', 'age', 'pwd', 'hobby'])
  ps:获取字典所有的k值 结果当成列表即可
  print(dic1.values())  # dict_values(['nana', 18, 123, ['read', 'play']])
  ps:获取字典所有的v值 结果当成列表即可
  print(dic1.items())  # dict_items([('name', 'nana'), ('age', 18), ('pwd', 123), ('hobby', ['read', 'play']), ('salary', 100000)])
  ps:获取字典kv键值对数据 组织成列表套元组

2.取值 按k取值 dic.get()

1.按k取值   >>>如果k不存在,则会报错
    dic1 = {
        'name': 'nana',
        'age': 18,
        'pwd': 123,
        'hobby': ['read', 'play']

    }

    print(dic1['name'])  # nana
    print(dic1['name1'])  # 报错
    
2.dict.get()方法  
    print(dic1.get('name'))  # nana
    print(dic1.get('name1'))  # None
    print(dic1.get('name',11))  # nana
    print(dic1)  #{'name': 'nana', 'age': 18, 'pwd': 123, 'hobby': ['read', 'play']}
    print(dic1.get('money',11))  # 11
    print(dic1)  # {'name': 'nana', 'age': 18, 'pwd': 123, 'hobby': ['read', 'play']}
    ps:>>> get的第二个参数,取值的时候,如果key存在,则就取出原来的值,key如果不存在,就取出第二个参数的值

3.长度 len()

dic1 = {
    'name': 'nana',
    'age': 18,
    'pwd': 123,
    'hobby': ['read', 'play']

}
print(len(dic1))  # 4

4.成员运算

dic1 = {
    'name': 'nana',
    'age': 18,
    'pwd': 123,
    'hobby': ['read', 'play']

}
1.in
	print('name' in dic1)  # True

2.not in 
	print('name1' not in dic1)  # True

5.更新字典 update()

1. dict.update()  update括号里面填字典 键存在则是修改  键不存在则是新增
    dic1 = {
        'name': 'nana',
        'age': 18,
        'pwd': 123,
        'hobby': ['read', 'play']

    }

    dic1.update({'name':'kevin'})
    print(dic1)  # {'name': 'kevin', 'age': 18, 'pwd': 123, 'hobby': ['read', 'play']}
    dic1.update({'money':100})
    print(dic1)  # {'name': 'kevin', 'age': 18, 'pwd': 123, 'hobby': ['read', 'play'], 'money': 100}

6.快速构建字典 dict.fromkeys()

dic1 = dict.fromkeys(['name','age','hobby'],[])
print(dic1)  #{'name': [], 'age': [], 'hobby': []}
ps:用于初始化操作

7.setdefalt()

1.dict.setdefault() >>>键存在则获取键对应的值 键不存在则添加 并返回设置的新值
  eg:
  res = dic1.setdefault('name','enen')
  print(dic1)  # {'name': 'nana', 'age': 18, 'pwd': 123, 'hobby': ['read', 'play']}
  print(res)  # nana
  res1 = dic1.setdefault('xxx','enen')
  print(dic1)  # {'name': 'nana', 'age': 18, 'pwd': 123, 'hobby': ['read', 'play'], 'xxx': 'enen'}
  print(res1)  # enen

集合

概要

eg:s1={1,2,3}
1.集合用于去重和关系运算(数学所学的并、交、差...)
2.定义空集合:必须使用关键字才能定义空集合
    eg:s1 = set()
3.集合内数据必须是不可变类型(整型 浮点型 字符串 元组 布尔值)
3.类型转换:支持for循环的并且数据必须是不可变类型

去重

集合本身是无序的,去重之后无法保留原来的顺序
s1 = {1,1,1,2,2,3,3,34,4,5,5,6,66,7,7,7}
print(s1)  # 1, 2, 3, 34, 4, 5, 6, 66, 7} 

关系运算

关系运算:并 交 差
eg:模拟两个人的好友集合
f1 = {'jason', 'tony', 'oscar', 'jerry'}
f2 = {'kevin', 'jerry', 'jason', 'lili'}
1.交 &
  print(f1 & f2)  # {'jason', 'jerry'}
2.差 -
  print(f1-f2)  # {'oscar', 'tony'}
  print(f2-f1)  # {'kevin', 'lili'}
3.并 |
  print(f1|f2)  # {'kevin', 'jerry', 'lili', 'tony', 'jason', 'oscar'}
4.排除交集 ^ = |-&
  print(f1^f2)  # {'tony', 'lili', 'oscar', 'kevin'}
5.父集与子集 >>>包含于被包含的关系
  s1 ={1,2,3,4}
  s2={1,2}
  print(s1>s2)  # True
  print(s1<s2)  # False

作业

"""
 有一个字符串‘ababaccdd’,如何统计每个字符出现的个数并组织成字典的形式展示出来如{‘a’:3}(尝试手写代码实现)
"""
s = 'ababaccdd'
dic1 = {}

for i in s:
    if i not in dic1:
        dic1[i] = 1
    else:
        dic1[i] += 1
print(dic1)
posted @ 2023-02-21 16:39  DRAMA-娜娜  阅读(29)  评论(0)    收藏  举报