首页 > 解决方案 > 如何水平制作可变数字并制作列表?

问题描述

a所以我有

['2019313251', 'V', '11', '58', 'am']   
['2017393939', 'V', '12', '03']  
['2020123456', 'V', '13', '24'] 
['1997031312', 'V', '13', '25']
['2013313990', 'V', '13', '32', 'pm']
['2018423519', 'V', '14', '10', 'pm'] 
['2019313251', 'E', '2', '58', 'pm'] 
['2017393939', 'V', '3', '03']  
['2017393939', 'E', '3', '04'] 
['2019313251', 'E', '5', '48', 'pm']  
['2017313882', 'E', '17', '54']

我想获取 for 的值a[2]'V'用它列出一个列表。

if a[1] == "V":
    b = a[2]
    b = b.strip().split(' ')

我试过这段代码,但输出是

['11']   
['12']
['13'] 
... 

等等。我怎样才能使它水平并制作一个列表以获得类似的结果['11', '12', '13', ...]

标签: pythonlist

解决方案


a = [['2019313251', 'V', '11', '58', 'am'],
     ['2017393939', 'V', '12', '03'],
     ['2020123456', 'V', '13', '24'],
     ['1997031312', 'V', '13', '25'],
     ['2013313990', 'V', '13', '32', 'pm'],
     ['2018423519', 'V', '14', '10', 'pm'],
     ['2019313251', 'E', '2', '58', 'pm'],
     ['2017393939', 'V', '3', '03'],
     ['2017393939', 'E', '3', '04'],
     ['2019313251', 'E', '5', '48', 'pm'],
     ['2017313882', 'E', '17', '54']]

output = [x[2] for x in a if x[1] == 'V']
print(output)

输出是您的结果,例如 ['11', '12', '13', ...]


推荐阅读