python列表查询

时间:2012-03-18 00:55:56

标签: python list

我的列表如下所示:

[',100,"","Rock outcrop","Miscellaneous area"']

我想在100之前添加双引号。

所以它看起来像这样:

['"",100,"","Rock outcrop","Miscellaneous area"']

我尝试了插入功能,但只在我的列表开始之前添加了一些内容。当我插入时,它看起来像这样

['', ',100,"","Rock outcrop","Miscellaneous area"']

3 个答案:

答案 0 :(得分:1)

你得到的是一个包含

的字符串
,100,"","Rock outcrop","Miscellaneous area"

在列表中。如果你想要的是将""添加到该字符串的开头,那么你可以通过

来做到这一点
mylist[0] = '""' + mylist[0]

但我认为你可能想要一个实际的字符串序列,在这种情况下你需要

import ast
mylist = ast.literal_eval('""' + mylist[0])
#mylist is now ('', 100, '', 'Rock outcrop', 'Miscellaneous area')

ast.literal_eval将字符串解释为Python文字,在本例中为tuple

答案 1 :(得分:0)

你实际拥有的是一个字符串的列表。所以只需拉出字符串。

s = l[0]
s = '""' + s

但是......这是一个奇怪的使用列表和字符串。您可能想要使用不同的结构。

答案 2 :(得分:0)

假设您有列表

lst = [',100,"","Rock outcrop","Miscellaneous area"']

所以你可以做的是使用lst[0]获取列表中的第一个元素,然后更改它并将其分配回lst[0],所以

lst[0] = '""' + lst[0] 

会这样做

编辑:您似乎遇到的问题是您正在创建一个字符串元素的数组。所以你有一个包含元素的列表

',100,"","Rock outcrop","Miscellaneous area"'

这是一个字符串 您可能想要的是做

之类的事情
lst = [100,"","Rock outcrop","Miscellaneous area"]

然后执行插入