内置方法

列表内置方法

  • len()

可以统计列表中有多少个数据值

b = [22, 11, 33, 44]
print(len(b))  # run:4 统计列表中有多少个数据值
  • .append()

在列表的最后增加的数据值

a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a.append('ww')
print(a)  # run:['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'ww'] 在最后加入字符串
a.append([1, 2])
print(a)  # run:['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'ww', [1, 2]] 在最后加入列表
  • .insert()

将数据以你设置位置加入到列表

a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a.insert(0, '插队')
print(a)  # run:['插队', 'aaa', 'bbb', 'ccc', 'ddd', 'eee'] 在第零个插入字符串
a.insert(0, [1, 2])
print(a)  # run:[[1, 2], '插队', 'aaa', 'bbb', 'ccc', 'ddd', 'eee']在第零个插入列表
  • .extend()

将两个列表合并

b = [22, 11, 33, 44]
c = [66, 55, 77, 88]
for i in c:
    b.append(i)
print(b)  # run:[22, 11, 33, 44, 66, 55, 77, 88] 将c列表依次添加到b列表
b.extend(c)  # 括号里面必须是支持for循环的数据类型   for循环+append()
print(b)  # run:[22, 11, 33, 44, 66, 55, 77, 88]
  • 取你所要位置的数据值
a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
print(a[0])  # run:aaa
print(a[1:3])  # run:['bbb', 'ccc'] 打印第一到第二

若是没有对应的数据值则是插入

a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a[1] = 'yes'
print(a)  # run:['aaa', 'yes', 'ccc', 'ddd', 'eee'] 在第一个位置插入
  • del

删除所选的数据值

a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
del a[0]
print(a)  # run:['bbb', 'ccc', 'ddd', 'eee'] 把第零个字符串删除
  • .pop

将所选的数据值取出在删除

a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
res = a.pop(2)
print(res)  # run:ccc 把第二字符串赋值给res
print(a)  # run:['aaa', 'bbb', 'ddd', 'eee'] 把第二个字符串删除
  • .imdex

查找数据值在列表的位置

a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
print(a.index('bbb'))  # run:1 在列表中第几个
  • .count

查找数据值在列表中一共出现了多少次

a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a.append('bbb')
a.append('bbb')
print(a.count('bbb'))  # run:3 列表中出现了3次'bbb'
  • .sort

把列表的数据值按大小排序

b = [22, 11, 33, 44]
b.sort()
print(b)  # run:[11, 22, 33, 44] 从小到大升序
b.sort(reverse=True)  # 颠倒sort的作用
print(b)  # run:[44, 33, 22, 11] 从大到小降序
  • .reverse

将列表的顺序颠倒过来

a = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
a.reverse()
print(a)  # run:['eee', 'ddd', 'ccc', 'bbb', 'aaa'] 列表排序颠倒
  • 对比列表数据值的大小
a1 = [88, 11]
a2 = [77, 55, 44]
print(a1 > a2)  # run:True 列表按照顺序依次对比
a3 = ['aaa', 22]
print(a1 > a3)  # 不同数据类型不能比较
a4 = ['好', 4]
print(a3 > a4)  # run:False 中文和字母都有对应的数值

可变类型与不可变类型

  • 可变类型 list

当改变值时,内存地址不变,即id不变,证明在改变原值

a = [11, 22, 33]
print(id(a))  # run:2393923499840
a.append(44)
print(id(a))  # run:2393923499840
  • 不可变类型 str int float

当改变值时,内存地址肯定变,即id也变,证明是没有在改变原值,是产生了新的值

a = '$hohoho$'
print(id(a))  # run:1517181073136
a = a.strip('$')
print(id(a))  # run:1517181073584

元组内置方法

  • 类型转换tuple

持for循环的数据都可以转换成tuple

print(tuple('aa'))  # run:('a', 'a')
a1 = ()
print(type(a1))  # run:tuple
  • len

可以统计元组中有多少个数据值

a = (11, 22, 33, 44, 55)
print(len(a))  # run:5
  • 查看这个位置上的数据,不能用于更改
print(a[1])  # run:22查看这个位置上的数据
a[1] = 1  # 不能更改

字典内置方法

  • 类型转换dict

k是不可变类型

print(dict([('ab', 'a1'),('bc', 'b1')]))  # run:{'ab': 'a1', 'bc': 'b1'}
print(dict(ab='a1', bc='b1'))  # run:{'ab': 'a1', 'bc': 'b1'}

  • .get()

通过k取出对应的v值

a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
print(a.get('a2'))  # run:bb
print(a.get('键不存在默认返回None'))  # run:None 键不存在默认返回None
print(a.get('username', 222))  # run:222 键不存在返回第二个
  • len()

可以统计字典中有多少个键值对

a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
print(len(a))  # run:3 统计字典中有多少个键值对
  • 修改键所对应的v值

    若字典中没有对应的键则新增键值对

a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
a['a1'] = 'yes'
print(a)  # run:{'a1': 'yes', 'a2': 'bb', 'a3': 'cc'} 键存在则修改对应的值
a['xx'] = 'no'
print(a)  # run:{'a1': 'yes', 'a2': 'bb', 'a3': 'cc', 'xx': 'no'} 键不在则新增
  • del

删除所选的键值对

a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
del a['a1']
print(a)  # run:{'a2': 'bb', 'a3': 'cc'} 删除对应的键值对
  • .pop

将所选键对应的值取出在删除

a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
res = a.pop('a1')
print(res)  # run:aa 获取键对应的值
print(a)  # run:{'a2': 'bb', 'a3': 'cc'} 把键值对删除
  • .popitem()

随机删除一项kv键值对

a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
a.popitem()
print(a)  # run:{'a1': 'aa', 'a2': 'bb'} 随机删除一项kv键值对
  • 三个分别用于取k值,v值,kv键值对数据在组成列表套元组
a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
print(a.keys())  # run:dict_keys(['a1', 'a2', 'a3']) 取所有的k值
print(a.values())  # run:dict_values(['aa', 'bb', 'cc'])取所有的v值
print(a.items())  # run:dict_items([('a1', 'aa'), ('a2', 'bb'), ('a3', 'cc')])取字典kv键值对数据 组成列表套元组
  • .update()

修改键所对应的值

若键不存在则新增键值对

a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
a.update({'a1': 'aaa'})
print(a)  # run:{'a1': 'aaa', 'a2': 'bb', 'a3': 'cc'} 键存在则修改对应的值
a.update({'xx': '123'})
print(a)  # run:{'a1': 'aaa', 'a2': 'bb', 'a3': 'cc', 'xx': '123'}键不存在则新增
  • .fromkeys()

快速创造字典,但所有的键用同一个值

res = dict.fromkeys([1, 2], None)
print(res)  # run:{1: None, 2: None} 快速创造字典,默认所有键用一个值
  • .setdefault()

键存在则获取对应的值

键不存在则在字典新增键值对,在获取对应的值

a = {'a1': 'aa', 'a2': 'bb', 'a3': 'cc'}
res = a.setdefault('a1', 'hhh')
print(res)  # run:aa 键存在获取对应的值
res1 = a.setdefault('xx', 'hhh')
print(a)  # run:{'a1': 'aa', 'a2': 'bb', 'a3': 'cc', 'xx': 'hhh'}
print(res1)  # run:hhh  键不存在则设置,在获取对应的值

集合内置方法

  • 类型转换set()

支持for循环且数据必须是不可变类型

print(set('aa'))  # run:{'a'}
  • 去除集合里重复的值
a = {1, 2, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 4, 5, 4}
print(a)  # run:{1, 2, 3, 4, 5} 去除集合里的重复值

可以将其他类型的数据转换为集合去重

a1 = [1, 2, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 4, 5, 4]
a2 = set(a1)
a1 = list(a2)
print(a1)  # run:[1, 2, 3, 4, 5] 将列表转换成集合去重,在转换回列表
  • 两有部分重复的集合
a1 = {'aa', 'bb', 'cc', 'dd'}
a2 = {'11', 'cc', 'aa', '22'}
print(a1 & a2)  # run:{'cc', 'aa'} 两集合都有的值
print(a1-a2)  # run:{'bb', 'dd'} a1有a2没有的值
print(a2-a1)  # run:{'11', '22'} a2有a1没有的值
print(a1 | a2)  # run:{'bb', 'cc', '22', 'dd', '11', 'aa'} 两集合所有不同的值
print(a1 ^ a2)  # run:{'bb', '22', 'dd', '11'} 两集合各自独有的值
  • 父子集的判断
a = {1, 2, 3, 4, 5}
b = {3, 4, 5}
print(a > b)  # run:True a是b的父集,b是a的子集
print(a1 < a2)  # run:False

1

a = []  # 设置一个列表
while True:
    bb = input('''
    输入1执行添加用户名功能
    输入2执行查看所有用户名功能
    输入3执行删除指定用户名功能>>>:''')  # 让用户输入功能指令
    if bb == '1':
        name = input('name>>>:')
        a.append(name)  # 添加新的用户名
    elif bb == '2':
        print(a)  # 查看所有用户名
    elif bb == '3':
        cc = input('要删除谁啊>>>:')
        a.remove(cc)  # 删除指定用户名

2

a = []  #先创造一个空列表
l1 = [2, 3, 2, 1, 2, 3, 2, 3, 4, 3, 4, 3, 2, 3, 5, 6, 5]
for i in l1:  # 把l1拆开循环
    if i not in a:  # 判断i在不在a里面
        a.append(i)  # 不在则加入到a里面
    else:
        continue  # 在则开始下一次循环
else:  # 最后打印出来的就是去重并保留数据值原来的顺序的列表
    print(a)  # run:[2, 3, 1, 4, 5, 6]

3

pythons = {'jason', 'oscar', 'kevin', 'ricky', 'gangdan', 'biubiu'}
linuxs = {'kermit', 'tony', 'gangdan'}
print(pythons & linuxs)  # 即报名python又报名linux课程的学员名字集合
print(pythons | linuxs)  # 所有报名的学生名字集合
print(pythons - linuxs)  # 只报名python课程的学员名字
print(pythons ^ linuxs)  # 没有同时这两门课程的学员名字集合
posted @ 2022-06-27 22:44  无言以对啊  阅读(39)  评论(0)    收藏  举报