我有一个 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
。
我在 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
。