我有一个元组列表(num,id):
l = [(1000, 1), (2000, 2), (5000, 3)]
Run Code Online (Sandbox Code Playgroud)
每个元组的第二个元素包含标识符.假设我要删除带有id的元组,2我该怎么做?
即我想要新列表: l = [(1000,1), (5000, 3)]
我试过l.remove(2)但它不起作用.
这是原始代码块及其结果:
码:
if os.path.isdir(top):
for root, dirs, files in os.walk(top, topdown = True):
for dirname in dirs:
print 'Dirname = ', os.path.join(root, dirname)
Run Code Online (Sandbox Code Playgroud)
结果:
Dirname = ../output/.svn
Dirname = ../output/a random folder
Dirname = ../output/a random folder - copy
Dirname = ../output/.svn\pristine
Dirname = ../output/.svn\temp
Dirname = ../output/.svn\pristine\04
Dirname = ../output/.svn\pristine\59
Dirname = ../output/a random folder\another one inside
Dirname = ../output/a random folder\another one inside - Copy
Dirname = ../output/a random folder\another one inside - Copy (2)
Run Code Online (Sandbox Code Playgroud)
现在我想忽略所有隐藏的文件夹和子文件夹.这是修改后的代码及其结果:
码:
if …Run Code Online (Sandbox Code Playgroud) 我不确定为什么我的列表没有删除基于第二个List索引的每个char.以下是代码:
L1 = ['e', 'i', 'l', 'n', 's', 't']
L2 = ['e', 'i', 'l', 'n', 's', 't']
for n_item in range(len(L1)):
if L1[n_item] in L2:
del L2[n_item]
Run Code Online (Sandbox Code Playgroud)
以下是我得到的错误:
Traceback (most recent call last):
File "<pyshell#241>", line 3, in <module>
del L2[n_item]
IndexError: list assignment index out of range
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助 ....
所以我有这个代码:
animals = ['cat', 'dog', 'waffle', 'giraffe', 'turtle']
breakfeast_foods = ['waffle', 'pancake', 'eggs']
for index, item in enumerate(animals):
print item
if item in breakfeast_foods:
animals.pop(index)
Run Code Online (Sandbox Code Playgroud)
由于某种原因,循环打印语句不会打印“长颈鹿”。我不知道为什么,是我缺少什么吗?
所以,我正在尝试从 Python 的列表中删除非整数(非常令人兴奋的东西)。我遇到了以下代码的问题,但我似乎无法解决:
list_a = ["a", 1, 2, 3, False, [1, 2, 3]]
for item in list_a:
if not isinstance(item, int):
list_a.remove(item)
Run Code Online (Sandbox Code Playgroud)
我试图删除列表中的所有非 int 项目,但上面的代码不会删除 False。
我想要的是:[1, 2, 3]
我得到什么:[1, 2, 3, False]
任何帮助解决这个问题的帮助将不胜感激!
a = [1,2,3,4,0]
def looping_thing():
append_flag = True
for i in a:
if i == 0:
append_flag = False
if append_flag:
a.append(i)
print(i)
looping_thing()
Run Code Online (Sandbox Code Playgroud)
因此,在这段代码中,我尝试将项目移到列表的后面,以便只有在列表中遇到值“0”后才能处理它们。那么这种做法在Python中正确吗?
编辑:看来我不太清楚。我在这里所做的是......从列表中我首先要处理值0并执行一些代码块......然后移动到列表的其他值并执行相同的代码块。所以我只是为了执行代码块“0”有优先权。这里的假设是我无法对列表进行排序,并且总是有一个“0”值。我希望这是有道理的。