当前位置: 首页 > news >正文

学习记录---Python内置类型

文章目录

  • 字符串
    • split()
  • 列表
    • 常见操作
      • 列表相减
  • 字典
    • 创建
      • 普通创建
      • eval(s)
    • 添加或更新元素
      • d['t'] = 1
      • d.update({'c': 3})
      • {**d1, **d2} **字典解包装运算符
    • 删除元素 d.pop('c')
    • 属性
      • d.items()
      • d.keys()
      • d.values()
    • 访问元素
      • d['Name']
      • d.get('score')
    • 遍历字典
      • for key in dict
      • for key, values in dict.items()
    • 查询
    • 判断是否为空
    • 排序
      • 按key排序
      • 按value排序
    • 类似switch的用法

个人学习总结,持续更新中……

字符串

split()

split()方法

str.split(str="", num=string.count(str))

str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。
注意:a.split()和a.split(’ ')是不一样的

a = '122       345'
b = a.split()
print(b)
# ['122', '345']a = '122       345'
b = a.split(' ')
print(b)
# ['122', '', '', '', '', '', '', '345']

列表

常见操作

列表相减

list_1 = [1, 2, 3, 4, 5]
list_2 = [1, 2, 3]print(list(set(list_1) ^ set(list_2)))
'''
[4, 5]
'''

字典

字典键的特性:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个键值对会覆盖前一个键值对;
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。

创建

普通创建

d1 = dict(a=1, b=2, c=3)  # 创建
print('d1: ', d1)
'''
d1:  {'a': 1, 'b': 2, 'c': 3}
'''
d2 = dict([('a', 1), ('b', 2), ('c', 3)])  # 创建
print('d2: ', d2)
'''
d2:  {'a': 1, 'b': 2, 'c': 3}
'''
d3 = {'a': 1, 'b': 2, 'c': 3}  # 创建
print('d3: ', d3)
'''
d4:  {'a': 1, 'b': 2, 'c': 3}
'''
d4 = dict(zip(['a', 'b', 'c'], [1, 2, 3]))
print('d4: ', d4)
'''
d4:  {'a': 1, 'b': 2, 'c': 3}
'''

eval(s)

# python中有一个内置函数eval
# 字符串为"{'A':123,'B':456,'C':789}"
s = "{'A':123,'B':456,'C':789}"
s_dic = eval(s)
print(s_dic)
# {'A': 123, 'B': 456, 'C': 789}
print(type(s_dic))
# <class 'dict'>

添加或更新元素

d[‘t’] = 1

d = {}  # 创建空字典
d['t'] = 1  # 添加元素
d['p'] = 2
d['z'] = 3
print('d: ', d)
# d:  {'t': 1, 'p': 2, 'z': 3}

d.update({‘c’: 3})

Python 字典 update() 函数把字典参数 dict的 key/value(键/值) 对更新到字典 dict 里。
如果键相同,则更新值,如果键不同,则添加。

d = dict([('a', 1), ('b', 2)])
d.update({'c': 3})
print(f'd:\n{d}')
# {'a': 1, 'b': 2, 'c': 3}

{**d1, **d2} **字典解包装运算符

如果键相同,则更新值,如果键不同,则添加。

d1 = dict([('a', 1), ('b', 2)])
d2 = {'c': 3}
d3 = {**d1, **d2}
print(d3)
# {'a': 1, 'b': 2, 'c': 3}

删除元素 d.pop(‘c’)

d = dict([('a', 1), ('b', 2), ('c', 3)])
d.pop('c')  # 删除元素
print(d)
# {'a': 1, 'b': 2}

属性

d.items()

返回可遍历的(键, 值) 元组数组。
可以list转换为列表

d = dict([('a', 1), ('b', 2)])
print(f'd.items():\n{d.items()}')
'''
d.items():
dict_items([('a', 1), ('b', 2)])
'''
print(f'list(d.items()):\n{list(d.items())}')
'''
list(d.items()):
[('a', 1), ('b', 2)]
'''
a = dict(d.items())
print(f'a:\n{a}')
'''
a:
{'a': 1, 'b': 2}
'''

d.keys()

返回可遍历的键元组数组。
可以list转换为列表

d = dict([('a', 1), ('b', 2)])
print(f'd.keys():\n{d.keys()}')
'''
d.keys():
dict_keys(['a', 'b'])
'''
print(f'list(d.keys()):\n{list(d.keys())}')
'''
list(d.keys()):
['a', 'b']
'''

d.values()

返回可遍历的值元组数组。
可以list转换为列表

d = dict([('a', 1), ('b', 2)])
print(f'd.values():\n{d.values()}')
'''
d.values():
dict_values([1, 2])
'''
print(f'list(d.values()):\n{list(d.values())}')
'''
list(d.values()):
[1, 2]
'''

访问元素

d[‘Name’]

d = {'Name': 'Runoob', 'Age': 7, 'score': 'First'}
print(d['Name'])
# Runoob

d.get(‘score’)

d = {'Name': 'Runoob', 'Age': 7, 'score': 'First'}
print(d.get('score'))
# First

遍历字典

for key in dict

d = {'a': 1, 'b': 2, 'c': 3}  # 创建for k in d:print(k, d[k])
'''
a 1
b 2
c 3
'''

for key, values in dict.items()

dict = {'a': 1, 'b': 2, 'c': 3}  # 创建for k, v in dict.items():print(k, v)
'''
a 1
b 2
c 3
'''

查询

d = {'a': 1, 'b': 2, 'c': 3}  # 创建if 'a' in d:print(d['a'])
# 1

判断是否为空

在python 中 None,空列表[],空元组(),空字典{},0都是被程序判断为False ,所以我们判断对象是否为空可以直接使用if x 或者if not x 的方法来判断对象是否为空。

# 方法一:len()
list1 = {}
if len(list1) == 0:print("dict is empty")
# dict is empty# 方法二:直接使用if判断
list2 = {}
if not list2:print("dict is empty")
# dict is empty# 方法三:使用 空列表进行判断
list3 = {}
emptylist = {}
if list3 == emptylist:print("dict is empty")
# dict is empty

排序

Python教程按照字典的键或值进行排序方法解析

按key排序

dir_info = {'a': 1, 'd': 8, 'c': 3, 'b': 5}
print(dir_info)
# {'a': 1, 'd': 8, 'c': 3, 'b': 5}# 按key排序
dir_sort = sorted(dir_info.items(), key=lambda x: x[0], reverse=False)
print(dir_sort)
# [('a', 1), ('b', 5), ('c', 3), ('d', 8)]

按value排序

dir_info = {'a': 1, 'd': 8, 'c': 3, 'b': 5}
print(dir_info)
# {'a': 1, 'd': 8, 'c': 3, 'b': 5}# 按value排序
dir_sort = sorted(dir_info.items(), key=lambda x: x[1], reverse=True)
print(dir_sort)
# [('d', 8), ('b', 5), ('c', 3), ('a', 1)]

类似switch的用法

def sum1(a):return a + 1def sum2(a):return a + 2def sum3(a):return a + 3sum_kinds = {'sum1': sum1,'sum2': sum2,'sum3': sum3}def sum_cal(sum_k, a):b = sum_kinds[sum_k](a)return bc = sum_cal('sum1', 100)
print(c)
# 101
http://www.lryc.cn/news/30852.html

相关文章:

  • Python笔记 -- 列表
  • 谈谈UVM中的uvm_info打印
  • 矩阵理论1 集合上的等价关系(equivalence relations on a set S)
  • 【网络监控】Zabbix详细安装部署(最全)
  • 阿里云轻量服务器--Docker--Nacos安装(使用外部Mysql数据存储)
  • unity开发知识点小结01
  • 软件系统[软件工程]
  • 电力系统稳定性的定义与分类
  • 基于java的俱乐部会员管理系统
  • 线程池执行父子任务,导致线程死锁
  • Ubuntu系统新硬盘挂载
  • 【亲测】Centos7系统非管理(root)权限编译NCNN
  • 四种常见的异步请求方式
  • Linux操作系统学习(进程间通信)
  • 单目标追踪——【相关滤波】C-COT原理与ECO基于C-COT的改进
  • C++中栈是如何实现,以及常用的栈函数都有哪些
  • 我就不信你还不懂HashSet/HashMap的底层原理
  • Qt中调用gtest进行单元测试及生成覆盖率报告
  • ChatGPT vs Bard 背后的技术对比分析和未来发展趋势
  • 搜索引擎的设计与实现
  • 动态规划之买卖股票问题
  • MySQL学习笔记之子查询
  • HCIP-5OSPF域内域间外部路由学习笔记
  • 【编程实践】简单是好软件的关键:Simplicity is key to good software
  • Python|贪心|数组|二分查找|贪心|数学|树|二叉搜索树|在排序数组中查找元素的第一个和最后一个位置|计数质数 |将有序数组转换为二叉搜索树
  • 操作系统——15.FCFS、SJF、HRRN调度算法
  • 如何防止用户打开浏览器开发者工具?
  • C语言-基础了解-12-C数组
  • RocksDB 架构
  • MVVM和MVC的区别