python int转str_python的常用操作

3111b9358f0be2f5f78fa714e3a922bf.png

人生苦短,我用python。本文会持续更新。

1. 将列表中的所有元素组合成字符串

a = ['python', 'is', 'awesome']
print(' '.join(a))
>> python is awesome

2. 查找列表中频率最高的值

b = [1,2,3,1,2,3,3,2,2,3,3,4,5]
print(max(set(b),key=b.count))
>> 3

3. 合并字典

a = {'a': 1}
b = {'b': 2}
a.update(b)
print(a)
>> {'a': 1, 'b': 2}

4. 返回列表中最小和最大值的索引

lst = [40, 10, 20, 30]
def minIndex(lst):
    return min(range(len(lst)),key=lst.__getitem__)
def maxIndex(lst):
    return max(range(len(lst)),key=lst.__getitem__)
print(minIndex(lst))
>> 1
print(maxIndex(lst))
>> 0

5. 类型互转

1. 字符串转字典 str -> dict
name_str = "{'name':'mario', 'sex' : 'man'}"
name_dict = eval(name_str)
print(type(name_dict), name_dict)
>> <class 'dict'> {'name': 'mario', 'sex': 'man'}
2. 字典转字符串 dict -> str
name_dict = {'name': 'mario', 'sex': 'man'}
name_str = str(name_dict)
print(type(name_str), name_str)
>> <class 'str'> {'name': 'mario', 'sex': 'man'}

6. 读取文件

1.readlines()方法:返回一个列表,数据量大时很占用内存
with open("test.txt") as ft:
    flines = ft.readlines()
2. 循环一行一行读取文件,速度快,内存使用小,推荐使用此方法
with open("test.txt") as ft:
    for line in ft:
        do_with(line)

7. os.path 常用操作

import os
test_path = '/home/mario/Projects/test_platerect.txt'
1. ##返回文件名
print(os.path.basename(test_path))  
>> test_platerect.txt
2.  ##返回文件路径
print(os.path.dirname(test_path))  
>> /home/mario/Projects
3. ##把路径分割成 dirname 和 basename,返回一个元组
print(os.path.split(test_path))  
>> ('/home/mario/Projects', 'test_platerect.txt')
4. ##分割路径,返回路径名和文件扩展名的元组
print(os.path.splitext(test_path))  
>> ('/home/mario/Projects/test_platerect', '.txt')

8. numpy插入一行或一列

numpy.insert(arr, obj, values, axis=None)

函数作用:将向量插入某一行或列
参数说明:
arr:array (输入矩阵)
obj:int  (插入在第几行/列之前)
values:array  (要插入的矩阵)
axis:int  (插入某一行(0)还是列(1))
返回值:
返回一个插入向量后的数组。若axis=None,则返回一个扁平(flatten)数组

9. reshape给图像增加一个维度

import cv2
img = cv2.imread('lena.jpg')   #假设lena.jpg是灰度图
height, width = img.shape  #默认单通道的话channel会被去掉,只显示宽和高两个维度
img_res = img.reshape(width, height, 1)
hei, wid, chann = img_res.shape   ##输出为(hei, wid, 1)三个维度

注:将彩色三通道图像读入后转灰度图,保存后imread的图像通道问题和参数有关系。

img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
## 将img_gray保存后读取后的维度要指定cv2.imread的参数
img_gray = cv2.imread(img, -1)  灰度图的通道为1
img_gray = cv2.imread(img)  灰度图的通道仍然为3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值