循环使用列表索引号

时间:2017-05-22 16:02:34

标签: python ipython

并提前致谢!根据列表项的索引是偶数还是奇数,我有一个单词列表,我正在尝试组织成两个单独的列表。目前的列表如下:

['Word 0','Word 1','Word 2','Word 3']

实际列表实际上包含8598个单词,我希望能够创建一个循环来帮助我组织数据。仍然是一个相对较新的Pythonista,所以我希望有更多知识的人可以帮助我在这里,所以我可以开始使用pandas来搞乱这些数据。我很感激!

4 个答案:

答案 0 :(得分:3)

a = ['Word 0', 'Word 1', 'Word 2', 'Word 3']

odd = a[0::2] # start from `0` to the end, step = 2
even = a[1::2] # start from `1` to the end, step = 2

这可能导致双遍扫描,但您的数据集非常小,所以不用担心。

答案 1 :(得分:1)

你只需要遍历你的列表,检查你的索引是否奇怪,然后添加到列表或另一个列表,希望它有帮助

oddWords = []
evenWords = []
for index, value in enumerate(data):
    if index % 2 != 0:
        oddWords.append(value)
    else:
        evenWords.append(value)

答案 2 :(得分:0)

您也可以尝试切片离开索引0 -

words = ['Word 0', 'Word 1', 'Word 2', 'Word 3']
oddIndexedWords = list1[1::2] #contains all elements from words starting from 1 iterating by 2
evenIndexedWords = list1[::2] # contains all elements from words starting from 0 iterating by 2
print oddIndexedWords
print evenIndexedWords

答案 3 :(得分:-2)

data = ['0','1','2','3']
odd = []
even = []

x = 0
while x < len(data):
    if x % 2 == 0:
        even.append(data[x])
    else:
        odd.append(data[x])
    x += 1

print (odd)
print (even)