繁体   English   中英

如何仅在python中必要时解码

How to decode only when it is necessary in python

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个混合的数据集,其中有些是字符串,有些是字节,如下所示。

mydata={'data mining': [b'data', b'text mining', b"artificial intelligence"], 'neural networks': ['cnn', 'rnn', "artificial intelligence"]}

我的代码如下

for key, value in mydata.items():
    for item in value:
        print(type(item))

由于某些值是字节,因此我想将它们转换为字符串。 因此,我对以上代码进行了以下更改。

for key, value in mydata.items():
    for item in value:
        print(type(item.decode("utf-8")))

但是,然后我得到一个错误的说法: AttributeError: 'str' object has no attribute 'decode'

我也尝试过:

for key, value in mydata.items():
    for item in value:
        if type(item) == 'str':
            print(type(item))

但这对我没有用。

有没有办法解决这个问题?

1 个回复

以下是注释中各种建议的实现。 检查list元素是否为bytes对象,如果是,则进行解码(由于bytes对象是不可变的,因此我将list元素替换为解码后的版本)。

mydata = {'data mining': [b'data', b'text mining', b'artificial intelligence'], 'neural networks': ['cnn', 'rnn', "artificial intelligence"]}

for items in mydata.values():
    for i, item in enumerate(items):
        if isinstance(item, bytes):
            items[i] = item.decode()

print(mydata)
# OUTPUT
# {'data mining': ['data', 'text mining', 'artificial intelligence'], 'neural networks': ['cnn', 'rnn', 'artificial intelligence']}
1 仅在必要时连接

我有一个很大的应用程序,在这里使用缓存。 我有很多页面,其中我的应用程序仅连接和断开与数据库的连接。 可能吗? 仅在我的模型确实需要从数据库中获取数据时才连接? 我将自己的连接设为引导程序。 如果删除它,我的模型可以自动建立连接吗? -编辑我将修改内容修改为Zend_ ...

2 Python递归仅在必要时进行评估

说我有这两个功能: 如果我试着在脑海中找到f(5,2) ,它会是这样的: 我从不评估f(5,-1)因为它不需要。 s函数将返回6,因为参数x为零,因此参数z评估是不必要的。 但是,如果我尝试在python中运行它,它将永远递归或者直到我得到最大递归深度错误,大概是因为py ...

3 仅在必要时在FlowLayout中显示滚动条

我将重新表述我的问题:** 当有足够的空间通过扭曲所有项目来显示它们时,如何防止在FlowLayout中启用Java ScrollBar。 ** 这是我要实现的屏幕截图: 请注意,滚动条在不必要时被禁用。 当您调整大小时,如果某些项目不在视平面中,则应显示窗口滚动条 ...

4 如何仅在 qml 中必要时显示 ScrollBar?

假设我有一个应用程序,其中的项目可能会大于window高度。 我怎样才能让它只在需要时显示垂直scrollbar ? 我现在将展示我所做的测试应用程序中发生了什么。 当所有项目都关闭时: 打开物品时: 这里应该出现scrollbar 。 我现在将发布我用于此示例的代码: mai ...

2019-01-10 09:19:18 2 598   qt/ qml
6 仅在必要时如何在JavaScript中舍入数字

我想在JavaScript中将数字四舍五入,但只能保留2 decimal后2 decimal 。 例如4.5为4.50和3.331为3.331 。 我已经尝试过使用Math.round(number / 100) * 100但是当number为4.5它的数值为4.5 ,我希望它为4. ...

7 仅在必要时加载对象

我有一个Slab对象的映射,该映射具有对对象和SlabPDO SlabInstructions的映射引用。 我想进行选择,始终携带对象SlabPDO并仅在必要时加载SlabInstructions。 有什么办法吗? 下面是一个映射示例: 最好的祝福! ...

8 FFmpeg CLI-仅在必要时转码

我想将音频和视频流复用到单个视频文件中。 这两个流采用任意格式。 有时输入和输出编码会匹配,在这种情况下,我想使用-c copy参数来告诉FFmpeg避免转码,从而节省大量处理时间。 有没有办法告诉FFmpeg根据输入文件的格式自动确定是否需要转码? 另外,我可以自己进行检查,但如果 ...

9 CSS仅在必要时溢出

我的商店里有一个迷你购物车,上面显示篮子里的所有产品。 我试图在购物篮中有很多产品时显示购物车的滚动条,因此您需要滚动查看所有产品,以便购物车保留在页面上。 但是,即使没有必要,滚动条也始终存在,我无法弄清楚如何阻止它的发生。 请参见下图: 这是控制购物车的CSS: 虽 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM