python - 如何在Python中将多种类型的列表转换为二进制?

标签 python

我有一个包含两个元素的数组:第一个是类型,第二个是我需要转换的数据数组。

[['string','int32','string','int64','float32','string','string'],['any string','19','any string','198732132451654654','0.6','any string','any string']]

我知道如何将整数转换为二进制,但是在上面的多种类型的数组中,如何将其转换为二进制?

最佳答案

这是一个好方法:

data = [['string','int32','string','int64','float32','string','string'],
        ['any string','19','any string','198732132451654654','0.6',
         'any string','any string']]

type_map = {'string': str, 'int32': int, 'int64': long, 'float32': float}
results = [type_map[t](d) for t, d in zip(data[0], data[1])]
print results

结果:

['any string', 19, 'any string', 198732132451654654L, 0.6, 'any string', 'any string']

这通过使用类型字符串作为第一个列表中每个项目的键在 type_map 字典中查找转换函数来创建结果列表,然后使用来自的相应数据项调用它第二个 list 。可以使用名为 list comprehension 的东西在列表声明中使用 for 循环创建列表。 。此处使用 zip 函数为循环的每次迭代从每个子列表创建值对。

关于python - 如何在Python中将多种类型的列表转换为二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11979931/

相关文章:

c++ - 我如何分析纯dll?

python - 找不到 PySide 的 shiboken python 模块

python - 如何执行函数列表并将数据传递给使用 asyncio 调用的适当函数

python - 用于 Linux 的 Python 中的终端窗口关闭事件处理程序

python - Pandas 中的连接类似于 SQL 内连接

python - 转换为 UTC 时间戳

python:如何读取二维动态列表的元素?

python - 如何在 python 中正确使用 cv.boxFilter() 函数

python - 如何在文本文件(而不是代码)中指定主机列表或角色定义?

python - 根据某一列中的值从 DataFrame 中选择行