use*_*590 3 python arrays indexing dictionary list
初学者在这里学习python,想知道一些事情.
这给了我第二个元素:
list = [1,2,3,4]
list.index(2)
2
Run Code Online (Sandbox Code Playgroud)
但当我尝试这个:
list = [0] * 5
list[2] = [1,2,3,4]
list.index[4]
Run Code Online (Sandbox Code Playgroud)
我收到一个错误.有没有办法从数组中提取元素的索引,无论它放在什么列表中?我知道词典是可能的:
info = {first:1,second:2,third:3}
for i in info.values:
print i
1
2
3
Run Code Online (Sandbox Code Playgroud)
列表有类似的东西吗?
ick*_*fay 13
该index方法没有达到预期效果.要在索引处获取项目,必须使用以下[]语法:
>>> my_list = ['foo', 'bar', 'baz']
>>> my_list[1] # indices are zero-based
'bar'
Run Code Online (Sandbox Code Playgroud)
index 用于从项目获取索引:
>>> my_list.index('baz')
2
Run Code Online (Sandbox Code Playgroud)
如果你问是否有任何方法可以index进入子列表,答案是否定的,因为它必须返回一些你可以传入的内容[],而[]不会进入子列表.
list 是一个内置函数,不要将它用作变量名,它违反协议,而是使用 lst。
要访问列表中的元素,请使用 [] 和该元素的索引号
lst = [1,2,3,4]
lst[0]
1
Run Code Online (Sandbox Code Playgroud)
另一个相同的例子
lst = [1,2,3,4]
lst[3]
4
Run Code Online (Sandbox Code Playgroud)
使用 (:) 分号访问系列中的元素,分号前的第一个索引号在分号后包含和排除
lst[0:3]
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
如果未指定分号前的索引号,则所有数字都包含在分号后的索引号的列表开始之前
lst[:2]
[1, 2]
Run Code Online (Sandbox Code Playgroud)
如果未指定分号后的索引号,则所有数字都包含到列表末尾,相对于分号前的索引号
lst[1:]
[2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
如果我们再给一个分号,则特定字段数将被视为步骤
lst[0:4:2]
[1, 3]
Run Code Online (Sandbox Code Playgroud)
这用于查找元素的特定索引号
lst.index(3)
2
Run Code Online (Sandbox Code Playgroud)
这是我最喜欢的 pop 函数之一,它从索引的基础上拉出元素,提供更多信息,它还从主列表中删除该元素
lst.pop(1)
2
Run Code Online (Sandbox Code Playgroud)
现在看到元素被删除的主列表..:)
lst
[1, 3, 4]
Run Code Online (Sandbox Code Playgroud)
为了从给定的列表中提取偶数,请使用这个,这里我举了一个新的例子来更好地理解
lst = [1,1,2,3,4,44,45,56]
import numpy as np
lst = np.array(lst)
lst = lst[lst%2==0]
list(lst)
[2, 4, 44, 56]
Run Code Online (Sandbox Code Playgroud)
为了从给定的列表中提取奇数,请使用这个(注意我的位置是 1 而不是 0)
lst = [1,1,2,3,4,44,45,56]
import numpy as np
lst = np.array(lst)
lst = lst[lst%2==1]
list(lst)
[1, 1, 3, 45]
Run Code Online (Sandbox Code Playgroud)
快乐学习...:)
在第二个示例中,您的列表将如下所示:
[0, 0, [1, 2, 3, 4], 0, 0]
Run Code Online (Sandbox Code Playgroud)
因此没有元素4因此列表中
这是因为当您设置 时list[2],您正在更改第三个元素,而不是更新列表中的其他元素。
例如,如果要替换列表中的一系列值,请使用切片表示法list[2:](对于“从第三个到最后一个的每个元素”)。
更一般地,该.index方法对身份进行操作。因此,以下内容将起作用,因为您询问 python 您插入的特定列表对象在列表中的位置:
lst = [0]*5
lst2 = [1,2,3,4]
lst[2] = lst2
lst.index(lst2) # 2
Run Code Online (Sandbox Code Playgroud)