python:从字符串创建列表

2024-03-29 15:29:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串列表

a = ['word1, 23, 12','word2, 10, 19','word3, 11, 15']

我想创建一个列表

b = [['word1',23,12],['word2', 10, 19],['word3', 11, 15]]

这样做容易吗?


Tags: 字符串列表word1word2word3
3条回答

试试这个:

b = [ entry.split(',') for entry in a ]
b = [ b[i] if i % 3 == 0 else int(b[i]) for i in xrange(0, len(b)) ]
input = ['word1, 23, 12','word2, 10, 19','word3, 11, 15']
output = []
for item in input:
    items = item.split(',')
    output.append([items[0], int(items[1]), int(items[2])])

比其他人更简洁:

def parseString(string):
    try:
        return int(string)
    except ValueError:
        return string

b = [[parseString(s) for s in clause.split(', ')] for clause in a]

或者,如果您的格式被固定为<string>, <int>, <int>,那么您可以更加简洁:

def parseClause(a,b,c):
    return [a, int(b), int(c)]

b = [parseClause(*clause) for clause in a]

相关问题 更多 >