如何在python中删除列表的后端?

2024-04-26 03:42:54 发布

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

所以对于类的一部分,我有一个来自txt文件的给定输入。基本上,我能得到的输入字符串是

listy = ["Miko's Lounge", '41.2', '56.7', '99th Ave, NY', '3', '4', '5', '2']

我需要对这个输入做的是删除地址,并将列表末尾的数字放入列表中他们自己的列表中,就像这样。

["Miko's Lounge", '41.2', '56.7', ['3', '4', '5', '2'] ]

我知道我可以使用listy.pop(3)删除地址。但是字符串末尾的数字可能不同!这些代表明星收视率,有些地方的明星收视率比其他地方高。我是否可以从列表中的某个特定点上移除所有索引,比如函数slice(),之类的?

我一直在尝试使用for循环来使用range函数,但它似乎无法正常工作(或者我期望它如何工作)。

listy = ['1', '2', '3', '4', '5']


for i in range( 2 , len(listy)-1 ):
    listy.pop(i)

print listy

我得到的结果是:

['1', '2', '4']

当我试图得到更多的线索时:

['1', '2']

为什么随机的'4'在里面?我不明白这个距离!我怀念java与简单for循环的结合-


Tags: 函数字符串txt列表for地址地方range
3条回答

试试看:

listy = ["Miko's Lounge", '41.2', '56.7', '99th Ave, NY', '3', '4', '5', '2']
l = listy[:3]
l.append(listy[4:])
l

给你:

["Miko's Lounge", '41.2', '56.7', ['3', '4', '5', '2']]

您可能已经阅读了文档列表: http://docs.python.org/tutorial/datastructures.html

不过,我也没看到你要找的语法。

我认为您需要的是两部分索引语法,它取代了常用的容器方法“slice”

python处理子列表的方式是

myListInstance[start:end] //<-- note the colon

更多信息:

http://docs.python.org/tutorial/datastructures.html#the-del-statement

您可以使用list slicing轻松完成此操作:

>>> listy[:3]+[listy[4:]]
["Miko's Lounge", '41.2', '56.7', ['3', '4', '5', '2']]

相关问题 更多 >