Python 列表:从字符串列表中提取整数
Python list: Extract integers from list of strings
我有一个包含以下值的列表,这些值实际上是列表中的字符串:
mylist = ['4, 1, 2', '1, 2', '120, 13', '223, 10']
如何提取每个值并使用上面列表中的每个值创建一个新列表?
我需要这样的结果:
mylist = [4, 1, 2, 1, 2, 120, 13, 223, 10]
提前致谢
只需像这样使用列表理解:
mylist = ['4, 1, 2', '1, 2', '120, 13', '223, 10']
output = [int(c) for c in ",".join(mylist).split(",")]
print(output)
输出:
[4, 1, 2, 1, 2, 120, 13, 223, 10]
这会生成单个值字符串,并将所有值分隔成单独的字符串。然后它可以使用 int()
将它们转换为整数并将其添加到新的 list
.
我会提供一个冗长但可能更容易理解的解决方案
mylist = ['4, 1, 2', '1, 2', '120, 13', '223, 10', '1', '']
separtedList = []
for element in mylist:
separtedList+=element.split(',')
integerList = []
for element in separtedList:
try:
integerList.append(int(element))
except ValueError:
pass # our string seems not not be an integer, do nothing
mylist = integerList
print(mylist)
我有一个包含以下值的列表,这些值实际上是列表中的字符串:
mylist = ['4, 1, 2', '1, 2', '120, 13', '223, 10']
如何提取每个值并使用上面列表中的每个值创建一个新列表?
我需要这样的结果:
mylist = [4, 1, 2, 1, 2, 120, 13, 223, 10]
提前致谢
只需像这样使用列表理解:
mylist = ['4, 1, 2', '1, 2', '120, 13', '223, 10']
output = [int(c) for c in ",".join(mylist).split(",")]
print(output)
输出:
[4, 1, 2, 1, 2, 120, 13, 223, 10]
这会生成单个值字符串,并将所有值分隔成单独的字符串。然后它可以使用 int()
将它们转换为整数并将其添加到新的 list
.
我会提供一个冗长但可能更容易理解的解决方案
mylist = ['4, 1, 2', '1, 2', '120, 13', '223, 10', '1', '']
separtedList = []
for element in mylist:
separtedList+=element.split(',')
integerList = []
for element in separtedList:
try:
integerList.append(int(element))
except ValueError:
pass # our string seems not not be an integer, do nothing
mylist = integerList
print(mylist)