如何从列表中打印出特定值

时间:2012-06-28 14:18:31

标签: python string list printing parentheses

嘿,这可能是一个简单的问题,但我已经被遗忘了一段时间= /

我有一个字符串A:

A = ('A:0.1,B:0.2,(C:0.3,D:0.4)E:0.5')

以及相应的列表B,它显示字符串A的内括号内每个值的确切位置:

B = [12 13 14 15 16 17 18 19 20 21 22 23]

我想创建一个新列表,列表C打印字符串A的括号内的值,该字符串由列表B中的数字定义。

感谢您的帮助!

编辑: 我的目标是创建一个列表,只打印内括号内的内容,如下所示:

C = ('C:0.3,D:0.4')

然后我将在逗号处拆分,并将相应的2个字符串输入到我已定义的另一个函数中,但是现在,我只需要列表C

3 个答案:

答案 0 :(得分:2)

>>> A = ('A:0.1,B:0.2,(C:0.3,D:0.4)E:0.5')
>>> B = [12 ,13, 14 ,15, 16, 17, 18, 19 ,20 ,21, 22, 23]
>>> C=[A[x] for x in B]
>>> C
['(', 'C', ':', '0', '.', '3', ',', 'D', ':', '0', '.', '4']

修改

>>> A = ('A:0.1,B:0.2,(C:0.3,D:0.4)E:0.5')
>>> C=A[A.find('('):A.find(')')+1]
>>> C
'(C:0.3,D:0.4)'

答案 1 :(得分:0)

假设B确实是一个列表,

您似乎真的只需要B[0]B[-1]

print A[B[0]:B[-1]+1]

或者作为清单:

list_of_chars=list(A[B[0]:B[-1]+1])

如果在任何时候,B不是顺序的(如果B也是连续的,则有效):

list_of_chars=[A[i] for i in B]

会给你字符列表......

答案 2 :(得分:0)

简单的列表理解可以解决这个问题:

C = [A[i] for i in B]