我有一个 python 列表,使用 map 函数会省略列表的第一个零

i have a python list, using map function is omitting the first zero of the list

我在 python 中有这段代码,当我打印最后一行时,它给出了输出“11100101100”。我期待输出“011100101100”。请注意,输出以 1 而不是 0 开头。尽管变量 gamma_sum_list 是一个包含 12 位数字且以 0 开头的列表。该函数以某种方式自动删除了第一个零。以下是准确的gamma_sum_list:

def convert(list)
   res = int("".join(map(str,list)))
   return res
print(convert(gamma_sum_list))

输入:

[0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0]

预期输出:

011100101100

实际输出:

11100101100
def convert(some_list):


   res = "".join(map(str,some_list))
   return res

gamma_sum_list = [0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0]


print(convert(gamma_sum_list))

conv = lambda x: ''.join(map(str, x))
print(conv(gamma_sum_list))

您的问题是由将 join 操作的结果转换为整数引起的。整数没有前导零。如果删除 int 函数,您将得到一个带有前导零的字符串。

gamma_sum_list = [0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0]

def convert(my_list):
res = "".join(map(str,my_list))
return res

print(convert(gamma_sum_list))

输出:

011100101100

考虑一下:

>>> "".join(list(map(str, [0, 1])))
'01'

如何将 '01' 转换为整数?好吧,它只是 1.

>>> int("".join(list(map(str, [0, 1]))))
1

所以您可能不想将字符串转换为 int,只是将其保留为 str