【问题标题】:TypeError: an integer is required (got type str) on printing ar = array("B", ['hello', 'to', 'myuniVerse'])TypeError:打印时需要一个整数(得到类型 str) ar = array("B", ['hello', 'to', 'myuniVerse'])
【发布时间】:2021-12-10 05:50:26
【问题描述】:
from array import *

ar = array("B", ['hello', 'to', 'myuniVerse'])

for i in range(len(ar)):
    print(ar[i])

错误:

   ar = array("B", ['hello', 'to', 'myuniVerse'])
TypeError: an integer is required (got type str)

请帮助解决上述代码中的问题。

【问题讨论】:

  • 因为您正在创建整数数组(类型代码“B”)并尝试使用字符串列表对其进行初始化...为什么需要使用数组而不是列表类型的 ibject?

标签: python arrays


【解决方案1】:

来自array docs(强调我的):

一个新数组,其项目受类型代码限制,并从可选的初始化值初始化,该值必须是列表、字节类对象或可迭代适当的元素输入。

换句话说,如果你想使用 Python array,你需要指定正确的类型,也就是传递给数组的第一个参数。

看起来有no support for strings in Python array,所以您可能想改用list:

ar = ['hello', 'to', 'myuniVerse']

for item in ar:
    print(item)

或者,根据您的情况,您可以考虑使用pandas.array():

import pandas as pd

ar = pd.array(['hello', 'to', 'myuniVerse'])

for item in ar:
    print(item)

【讨论】:

  • 好的,非常感谢。这也是我的低估。我试图使用数组打印字符串列表,我以为我使用了错误的类型代码,但看起来我们不能使用数组来打印字符串。我会坚持这个清单。再次感谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-14
  • 2021-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
相关资源
最近更新 更多