python - 加入整数列表

标签 python arrays list

<分区>

我有一个应该表示二进制的整数列表:

x = [1, 0, 1, 1, 0, 0, 0, 0]
y = ''.join(x[:4])

我似乎无法加入它,我得到“序列项 0:预期的 str 实例,已找到 int”

但是如果我这样做

x = [str(1), str(0), str(1), str(1), str(0), str(0), str(0), str(0)]
y = ''.join(x[:4])

我收到“类型错误 int 对象不可订阅”,但我并没有尝试访问整数。

有人知道这是怎么回事吗?

最佳答案

str.join 采用一个迭代器,其元素必须是字符串,而不是整数。

我看到您已经自己解决了这个问题,并且您的第二种方法确实有效(您给出的错误可能来自其他代码)。但是将每个 int 转换为 str 像那样手动 绝对是非 Pythonic 的。相反,您可以使用列表理解/生成器表达式或 mapint 转换为 str:

''.join(str(i) for i in x[:4])
''.join(map(str, x[:4]))

示例:

In [84]: ''.join(str(i) for i in x[:4])
Out[84]: '1011'

In [85]: ''.join(map(str, x[:4]))
Out[85]: '1011'

关于python - 加入整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48968054/

相关文章:

C++ 列表 remove_if 编译错误

java - 我应该使用 Java 枚举来获取特定年份的用户吗?

python - 向嵌套列表添加特定值

python - PyParsing 简单的语言表达式

c - 在C中打印一维数组

python - python - 不使用random.shuffle()随机化元组列表

java - 通过折叠所有元素来删除二维数组中的元素

javascript - 使用 array.length 时无限循环

python - 正则表达式搜索显示不同的结果

python - Django 通过 iOS 上传图片时图像旋转不正确(EXIF 问题)