刘沙河 刘沙河
首页
  • Go语言基础

    • 数据类型
    • 反射
    • Go指针
  • Go语言进阶

    • go泛型
    • go条件编译
    • cgo教程
    • Go协程调度原理及GPM模型
    • Go内存管理
    • Go垃圾回收机制
    • Go语言内存对齐
  • Go语言实现原理

    • channel 实现原理
    • slice 实现原理
    • map 实现原理
    • sync.Mutex 实现原理
    • 乐观锁CAS 实现原理
    • singlefight 实现原理
  • gin框架

    • gin中间件原理
    • gin路由原理
  • gorm

    • GORM介绍和使用
    • GORM_CURD操作指南
  • go测试

    • benchmark基准测试
    • pprof 性能分析
  • python进阶

    • Numpy&Pandas
    • celery分布式任务队列
  • Django

    • Django 常见命令
    • middleware中间件
    • Django缓存系统
    • Django信号系统
    • Django REST Framework
  • Flask

    • Flask基础知识总结
    • Flask-SQLAlchemy
  • 爬虫

    • aiohttp
    • scrapy框架
  • Mysql

    • Mysql存储引擎和索引
    • MySQL主从复制
    • Mysql读写分离
    • 数据库分库分表
    • Mysql锁
    • Mysql事务和MVCC原理
    • 分库分表带来的读扩散问题
  • Redis

    • redis基础和数据类型
    • redis主从架构
    • redis哨兵架构
    • redis集群模式
    • 如何保证缓存和数据库双写一致
    • redis底层数据结构
    • redis分布式锁
  • Elasticsearch

    • es基本概念
    • es基础语法
    • es倒排索引
  • etcd

    • Go操作etcd
    • Raft原理
    • etcd分布式锁
  • kafka

    • 消息队列MQ总结
    • kafka 概述及原理
    • kafka 消费问题记录
    • 零拷贝技术
    • kafka分区规范
  • RabbitMQ

    • rabbitMQ基础
    • Go操作rabbitmq
  • RocketMQ

    • 可靠消息队列 rocketMQ
  • Http&Https

    • http&https
    • TCP和UDP
    • Ping 原理
  • RPC

    • RPC初识
    • grpc初识和实现
  • gRPC

    • grpc 初识
    • grpc 上下文 metadata
    • grpc 健康检查
    • grpc keepalive
    • grpc 命名解析
    • grpc 中间件&拦截器
    • grpc 负载均衡
    • grpc 身份认证
    • grpc 超时重试
    • grpc 链路追踪
    • grpc-gw将gRPC转RESTfu api
    • grpc-gw自定义选项
  • protobuf

    • protobuf 进阶
    • protobuf 编码原理
  • Docker

    • Docker基础
    • Docker常用命令
    • Dockerfile
    • Docker-Compose
    • Docker多阶段构建
    • Docker Config 教程
    • Docker Swarm 教程
    • Docker Stack 教程
    • Docker Buildx 教程
  • k8s

    • k8s 基础概念
    • k8s 集群架构
    • k8s 工作负载
    • Pod 网络
    • Service 网络
    • 外部接入网络
    • 一张图搞懂k8s各种pod
    • k8s 存储抽象
    • mac快速启动k8s
    • 自制申威架构k8s-reloader
  • go-kit

    • go-kit初识
    • go-kit启动http服务
    • go-kit集成gin启动服务
    • go-kit集成grpc和protobuf
    • go-kit中间件
    • go-kit服务注册发现与负载均衡
    • go-kit限流和熔断
    • go-kit链路追踪
    • go-kit集成Prometheus
  • 设计模式

    • 初识设计模式
    • 创建型模式
    • 结构型模式
    • 行为模式
  • 数据结构

    • 时间轮
    • 堆、双向链表、环形队列
    • 队列:优先队列
    • 队列:延迟队列
  • 算法

    • 递归算法
    • 枚举算法
    • 动态规划
    • 回溯算法
    • 分治算法
    • 贪心算法
    • LRU和LFU
    • 一致性哈希

花开半夏,半夏花开
首页
  • Go语言基础

    • 数据类型
    • 反射
    • Go指针
  • Go语言进阶

    • go泛型
    • go条件编译
    • cgo教程
    • Go协程调度原理及GPM模型
    • Go内存管理
    • Go垃圾回收机制
    • Go语言内存对齐
  • Go语言实现原理

    • channel 实现原理
    • slice 实现原理
    • map 实现原理
    • sync.Mutex 实现原理
    • 乐观锁CAS 实现原理
    • singlefight 实现原理
  • gin框架

    • gin中间件原理
    • gin路由原理
  • gorm

    • GORM介绍和使用
    • GORM_CURD操作指南
  • go测试

    • benchmark基准测试
    • pprof 性能分析
  • python进阶

    • Numpy&Pandas
    • celery分布式任务队列
  • Django

    • Django 常见命令
    • middleware中间件
    • Django缓存系统
    • Django信号系统
    • Django REST Framework
  • Flask

    • Flask基础知识总结
    • Flask-SQLAlchemy
  • 爬虫

    • aiohttp
    • scrapy框架
  • Mysql

    • Mysql存储引擎和索引
    • MySQL主从复制
    • Mysql读写分离
    • 数据库分库分表
    • Mysql锁
    • Mysql事务和MVCC原理
    • 分库分表带来的读扩散问题
  • Redis

    • redis基础和数据类型
    • redis主从架构
    • redis哨兵架构
    • redis集群模式
    • 如何保证缓存和数据库双写一致
    • redis底层数据结构
    • redis分布式锁
  • Elasticsearch

    • es基本概念
    • es基础语法
    • es倒排索引
  • etcd

    • Go操作etcd
    • Raft原理
    • etcd分布式锁
  • kafka

    • 消息队列MQ总结
    • kafka 概述及原理
    • kafka 消费问题记录
    • 零拷贝技术
    • kafka分区规范
  • RabbitMQ

    • rabbitMQ基础
    • Go操作rabbitmq
  • RocketMQ

    • 可靠消息队列 rocketMQ
  • Http&Https

    • http&https
    • TCP和UDP
    • Ping 原理
  • RPC

    • RPC初识
    • grpc初识和实现
  • gRPC

    • grpc 初识
    • grpc 上下文 metadata
    • grpc 健康检查
    • grpc keepalive
    • grpc 命名解析
    • grpc 中间件&拦截器
    • grpc 负载均衡
    • grpc 身份认证
    • grpc 超时重试
    • grpc 链路追踪
    • grpc-gw将gRPC转RESTfu api
    • grpc-gw自定义选项
  • protobuf

    • protobuf 进阶
    • protobuf 编码原理
  • Docker

    • Docker基础
    • Docker常用命令
    • Dockerfile
    • Docker-Compose
    • Docker多阶段构建
    • Docker Config 教程
    • Docker Swarm 教程
    • Docker Stack 教程
    • Docker Buildx 教程
  • k8s

    • k8s 基础概念
    • k8s 集群架构
    • k8s 工作负载
    • Pod 网络
    • Service 网络
    • 外部接入网络
    • 一张图搞懂k8s各种pod
    • k8s 存储抽象
    • mac快速启动k8s
    • 自制申威架构k8s-reloader
  • go-kit

    • go-kit初识
    • go-kit启动http服务
    • go-kit集成gin启动服务
    • go-kit集成grpc和protobuf
    • go-kit中间件
    • go-kit服务注册发现与负载均衡
    • go-kit限流和熔断
    • go-kit链路追踪
    • go-kit集成Prometheus
  • 设计模式

    • 初识设计模式
    • 创建型模式
    • 结构型模式
    • 行为模式
  • 数据结构

    • 时间轮
    • 堆、双向链表、环形队列
    • 队列:优先队列
    • 队列:延迟队列
  • 算法

    • 递归算法
    • 枚举算法
    • 动态规划
    • 回溯算法
    • 分治算法
    • 贪心算法
    • LRU和LFU
    • 一致性哈希
  • Python基础

  • Python进阶

    • 并发,并行同步,异步阻塞,非阻塞
    • 数据类型小结(各数据类型常用操作)
      • 一.数字/整型int
      • 二.bool类型False&True
      • 三.字符串str
      • 四.列表list
      • 五.元组tuple
      • 六.字典dict
      • 七.集合set
    • 数据分析 NumPy-Pandas
    • APScheduler定时任务框架
    • celery分布式任务队列
    • Django-celery
    • Django-crontab
    • gensim模块中Lsi模型自然语言处理
    • SQLalchemy 使用教程
  • Python并发编程

  • Django

  • Flask

  • 爬虫

  • Python
  • Python进阶
bigox
2021-03-22
目录

数据类型小结(各数据类型常用操作)

# 数据类型小结(各数据类型常用操作)

# 一.数字/整型int

  • int()强行转化数字

# 二.bool类型False&True

  • bool()强行转化布尔类型.
  • 0,None,及各个空的字符类型为False.其余均为Ture.

# 三.字符串str

  • str()强行转化字符串

    #列表转化字符换
    nums = [11,22,33,44]
    for a in range(0,len(nums)):
        nums[a] = str(nums[a]) 
    result = ''.join(nums)
    print(result)
    
    1
    2
    3
    4
    5
    6
  • .upper()转化大写

    name = 'abc'
    new_name = name.upper()
    print(new_name)  
    
    1
    2
    3
  • .lower()转化小写

    name = 'ABC'
    new_name = name.lower()
    print(new_name)
    
    1
    2
    3
  • .replace()替换

    message = input('请输入"大傻逼"')
    new_mes = message.replace('傻逼','**')
    print(new_mes)
    #.replace('原字符','替换字符','替换个数')
    
    1
    2
    3
    4
  • .strip()去首尾空格

    name = ' abc '
    new_name = name.strip()
    print(new_name)
    #.rstrip()去除右侧空格   .lstrip()去除左侧空格
    
    1
    2
    3
    4
  • .split()分割

    name = 'abcdefg'
    new_name = name.split('d')
    print(new_name)
    #.split('分割点',分割次数)
    
    1
    2
    3
    4
  • .isdecimal()判断是否可以转化位数字

    while True:
        num = input('请输入内容:')      
        num1= num.isdigit()             #print(num1) 数字的话输出True,非数字输出FALSE            
        if num1:
            print('你输入正确')
            break
        else:
            print('请输入数字')
    
    1
    2
    3
    4
    5
    6
    7
    8
  • .startswith() 判断是否以()开头,输出值为bool类型

    name = 'bigox'
    print(name.startswith('big'))
    
    1
    2
  • endswith() 判断是否以()结尾,输出值为bool类型 同.startswith()用法相同

  • .format()格式(同字符串格式化)

    name = '我叫:{0},年龄:{1}'.format('bigox',24)
    print(name)
    
    1
    2
  • .encode() :编码转换

    name  = '刘'              #解释器读取到内存后,按照unicode编码存储:8字节.
    print(name.encode('utf-8'))    #转化为utf-8编码
    
    1
    2
  • .join()循环每个元素,并在元素之间加入连接符.

    name = 'bigox'
    new_name = '_'.join(name)
    print(new_name)       #输出结果为  b_i_g_o_x
    
    1
    2
    3

# 四.列表list

  • 列表转换list()

    #列表转化字符换
    nums = [11,22,33,44]
    for a in range(0,len(nums)):
        nums[a] = str(nums[a]) 
    result = ''.join(nums)
    print(result)
    
    1
    2
    3
    4
    5
    6
  • .pop(索引)

    a = li.pop(2) #在列表中删除,并将删除的此数据赋值给a

    name = ['bigox','xo','ox']
    name.pop(1)
    print(name)
    
    1
    2
    3
  • del 列表 [索引]

    name = ['bigox','xo','ox']
    del name[0:2]
    print(name)
    
    1
    2
    3
  • .append()列表最后追加元素

    lst = ["麻花藤", "林俊杰", "周润发", "周芷若"] 
    print(lst) 
    lst.append("wusir") 
    print(lst)
    
    1
    2
    3
    4
  • .insert()在指定的索引位置插入元素

    lst = ["麻花藤", "林俊杰", "周润发", "周芷若"] 
    print(lst) 
    lst.insert(1,"wusir") 
    print(lst)
    
    1
    2
    3
    4
  • remove()**指定元素删除

    name = ['bigox','xo','ox']
    name.remove(xo)
    print(name)
    
    1
    2
    3
  • .clear()**清空

  • .extend**()添加

    li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
    s = 'qwert'
    li.extend(s)
    print(li)
    #---------------------------
    lst = ["王志文", "张一山", "苦海无涯"]
    lst.extend(["麻花藤", "麻花不疼"])
    print(lst)
    
    1
    2
    3
    4
    5
    6
    7
    8
  • .reverse()反转

    v = [1,2,3,4,5,6]
    v.reverse()
    print() #[6, 5, 4, 3, 2, 1]
    
    1
    2
    3
  • .sort排序

    v = [1,3,7,4,5,6]
    v.sort()
    print() 	#[1, 3, 4, 5, 6, 7]
    #v.sort()	从小到大排序(默认)
    #v.sort(reverse=True)  从大到小排序
    
    1
    2
    3
    4
    5

# 五.元组tuple

  • 强制转换:

    • tuple('adfadfasdfasdfasdfafd')

      v1 = tuple('adfadfasdfasdfasdfafd')
      print(v1) # ('a', 'd', 'f', 'a', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 'f', 'd')
      
      1
      2
    • tuple([11,22,33,44])

      v1 = tuple([11,22,33,44])
      print(v1)  # (11, 22, 33, 44)
      
      1
      2
  • 元组子元素不可变,而子元素内部的子元素是可以变的,取决于元素是否为可变对象

  • 元组中如果只有一个元素,一定要添加一个逗号,否者不是元组

# 六.字典dict

  • 字典键的数据类型不能为list和tuple,值可以为任何类型.

  • dict.fromkeys(list[键],list[值])

    用于创建并返回一个新的字典。两个参数:第一个是字典的键,第二个(可选)是传入键的值,默认为None。
    例如:
    dict1 = dict.fromkeys([1,2,3])
    print(dict1)# {1: None, 2: None, 3: None}
    #######################################################################
    dict3 = dict.fromkeys([1,2,3],['one','two','three'])
    print(dict3)   #{1: ['one', 'two', 'three'], 2: ['one', 'two', 'three'], 3: ['one', 'two', 'three']}
    #######################################################################
    v= dict.fromkeys(['k1',"k2"],[])
    print(v)               #{'k1': [], 'k2': []}
    # v['k2'].append(666)
    print(v)               #{'k1': [], 'k2': []}
    v['k2']=777            #{'k1': [], 'k2': 777}
    print(v)
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
  • .keys()取键

    for i in info.keys():
    	print(i)
    
    1
    2
  • .values()取值

    for i in info.values():
    	print(i)
    
    1
    2
  • .items()取键值对

    for i in info.items():
    	print(i)
    
    1
    2
  • .get()以键取值,如果键不存在返回原定结果

    info = {'k1':'v1','k2':'v2'}
    a = info.get('k1')
    print(a)	#v1
    info2 = ['11111']
    b = info.get('11111',22222)
    print(b)	#22222
    
    1
    2
    3
    4
    5
    6
  • .update()更新_存在覆盖更新,不存在添加

    info = {'k1':'v1','k2':'v2'}
    info.update({'k1':'v0','k3':'v3'})
    print(info)	#{'k1': 'v0', 'k2': 'v2', 'k3': 'v3'}
    
    1
    2
    3

# 七.集合set

  • 无序,不可重复

  • 在集合中True与数字1重复,False与数字0重复

  • .add() 添加

    info = {'k1','k2'}
    info.add('k3')
    print(info)	
    
    1
    2
    3
  • .discard()删除

    info = {'k1','k2','k3'}
    info.discard('k3')
    print(info)	
    
    1
    2
    3
  • 要修改,需要先删除再添加

  • .clear()清空

  • .update()

    info = {'k1','k2'}
    info.update({'k1','k3','v3'})
    print(info)	#{'k1','k2','k3','v3'}
    
    1
    2
    3
  • .intersection() 交集

    ​ 命令后的 () 可以是集合,也可以是列表.

    info = {1,2,3}
    print(info.intersection({1,3,4}))	#{1,3}
    
    1
    2
  • .union()并集

    info = {1,2,3}
    print(info.union({1,3,4}))	#{1,2,3,4}
    
    1
    2
  • .difference()差集

    info = {1,2,3}
    print(info.union({1,3,4}))	#{2,4}
    
    1
    2
#Python#
上次更新: 2023/04/16, 18:35:33
并发,并行同步,异步阻塞,非阻塞
数据分析 NumPy-Pandas

← 并发,并行同步,异步阻塞,非阻塞 数据分析 NumPy-Pandas→

最近更新
01
go与http代理
05-24
02
自制申威架构k8s-reloader
12-06
03
Docker Buildx 教程
12-01
更多文章>
Theme by Vdoing | Copyright © 2020-2024 小刘扎扎 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式