TypeError:打印时需要一个整数(得到类型 str) ar = array("B", ['hello', 'to', 'myuniVerse'])

Posted

技术标签:

【中文标题】TypeError:打印时需要一个整数(得到类型 str) ar = array("B", [\'hello\', \'to\', \'myuniVerse\'])【英文标题】: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? 【参考方案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)

【讨论】:

好的,非常感谢。这也是我的低估。我试图使用数组打印字符串列表,我以为我使用了错误的类型代码,但看起来我们不能使用数组来打印字符串。我会坚持这个清单。再次感谢!!

以上是关于TypeError:打印时需要一个整数(得到类型 str) ar = array("B", ['hello', 'to', 'myuniVerse'])的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:在cartopy中使用时字符串索引必须是整数,但正常打印工作正常

将两个整数相除并打印时出现 TypeError

TypeError:是否需要整数(类型为元组)? [重复]

Python TypeError 遍历列表

googleapis / python-bigquery:Client.load_dataframe_to_table 失败并出现 PyArrow “TypeError:需要一个整数(获取类型 str

TypeError:str()最多使用1个参数(给定2个,TypeError:需要一个整数)