Python 按列阅读列表
我有一份清单,清单上的数字如下:Python 按列阅读列表,python,python-3.x,list,python-2.7,Python,Python 3.x,List,Python 2.7,我有一份清单,清单上的数字如下: ['1,2,3,4', '5,6,7,8', '9,10,11,12'] [',', ',', ','] 我想按列列出一个清单。例如:单个列表中的1,5,9 我已经编写了一个python代码: def readcolumn(userlist,columnName): for x in userlist: columnList.append(x[columnName]) return columnList data1=read
['1,2,3,4', '5,6,7,8', '9,10,11,12']
[',', ',', ',']
我想按列列出一个清单。例如:单个列表中的1,5,9
我已经编写了一个python代码:
def readcolumn(userlist,columnName):
for x in userlist:
columnList.append(x[columnName])
return columnList
data1=readcolumn(myList,1)
print(data1)
当我试图打印数据时。结果如下:
['1,2,3,4', '5,6,7,8', '9,10,11,12']
[',', ',', ',']
因为索引“1”的值是“,”。我试着去掉“,”,但对于两位数,它只打印第一个字符,例如“10”,它只打印“1”。我如何解决这个问题你有一个包含三个字符串的一维列表。没有列。您需要将其拆分为子列表。然后,您可以通过简单的理解获得专栏:
l = ['1,2,3,4', '5,6,7,8', '9,10,11,12']
m = [item.split(',') for item in l]
[item[1] for item in m]
#['2', '6', '10']
当然,如果要一步完成并放弃2D列表,可以:
l = ['1,2,3,4', '5,6,7,8', '9,10,11,12']
[item.split(',')[1] for item in l]
#['2', '6', '10']