【问题标题】:How do I work with list elements? | PYTHON如何使用列表元素? | PYTHON
【发布时间】:2020-08-31 02:15:14
【问题描述】:

我有一个列表,例如['exa', 'mp', 'l', 'e']

我需要使用每个元素来对其进行 hexlify。我想怎么做?起初,我想以某种方式获取每个元素,然后执行 hex(element)。我如何得到它?或者我可以将整个列表进行 hexlify 吗?

提前致谢。

我想说我尝试了str(listname),但它只是输出"['exa', 'mp', 'l', 'e']",这并没有达到我的期望。

【问题讨论】:

  • 请用您尝试过的代码更新您的问题。
  • 除了str(list)没试过,没用
  • hex(element) 下是什么意思? Python 的内置 hex 函数需要整数,但您的元素是 strs。
  • 嗯,这正是我们想要看到的。请使用此代码和它产生的输出更新问题,以及这不符合您期望的原因。
  • 好的,这样更好。那么关于这些期望,它们究竟是什么?

标签: python arrays list encoding hex


【解决方案1】:

使用列表理解:

result = [hex(x) for x in arr]

【讨论】:

  • 也可以使用 map() 代替 :)
  • 是的,arr 是您的原始列表。列表推导遍历列表(每个项目是x)并执行操作hex(x) 并将其存储在结果中。你可以做很多更复杂的事情,但这些都是基础
  • 这给出了TypeError: 'str' object cannot be interpreted as an integer,因为数组包含字符串。
  • 是的,因为您不能将hex() 与字符串一起使用。
  • 我会用 binascii 对字符串进行 hexlify,别担心。
【解决方案2】:

您要求的hexlify 可以这样完成:

listname = ['exa', 'mp', 'l', 'e']
print([item.encode('utf-8').hex() for item in listname])

输出:

['657861', '6d70', '6c', '65']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    相关资源
    最近更新 更多