我有这个long类型的变量,它是long的列表:
print(list_id)
[6L]
[6L]
[6L]
[6L]
[7L]
如何将此列表转换为类似的内容:
list_id = [6, 6, 6, 6, 7]
我做了这样的事情:
list_orgs_id = []
for i in list_id[0]:
list_orgs_id.append(i)
print(list_orgs_id)
但它说:
TypeError: 'long' object is not iterable
答案 0 :(得分:1)
您可以使用int()
将它们转换为整数。
list_id = [[6L], [6L], [6L], [6L], [7L]]
int_id = [int(i[0]) for i in list_id]
print(int_id)
输出:
[6, 6, 6, 6, 7]
端子输出:
Python 2.7.10 (default, Oct 6 2017, 22:29:07)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> list_id = [[6L], [6L], [6L], [6L], [7L]]
>>> int_id = [int(i[0]) for i in list_id]
>>> print(int_id)
[6, 6, 6, 6, 7]
>>>
答案 1 :(得分:1)
您想要这样吗?只需使用list comprehension
main_list = [[1,2,3],[2,3,4]]
list_id=[j for i in main_list for j in i]
print(list_id)
输出:
[1, 2, 3, 2, 3, 4]
答案 2 :(得分:0)
您可以将<br>
应用于列表列表中的所有元素:
int()
您还可以选择将其写成精美的列表理解:
for x in range(len(list_id)):
list_id[x] = int(list_id[x][0])
在这种情况下,您必须迭代list_id = [int(y) for x in list_id for y in x]
内的所有列表,并且在每次迭代过程中,都将迭代这些列表内的长整数。这类似于:
list_id
如果需要,可以编写一个用户定义的函数,然后使用temp = []
for x in list_id:
for y in x:
temp.append(int(x))
list_id = temp
函数将其应用于map()
的所有元素上:
list_id