python - 提取列表中无序的项目

标签 python

我想从列表中提取一些项目并将它们保存在子列表中,但项目没有按顺序排列。例如以下列表:

F = ['mary', 'zari', 'ali', 'fari','Thaghi', 'zagi', 'shad', 'sila','bita']
A = []
B = []
C = []

我想将项目 1 放入 A,将项目 2 放入 B,将项目 3 放入 C。然后将项目 4 放入 A,将项目 5 放入 B,将项目 6 放入 C。然后将项目 7 放入 A,将 8 放入 B,然后将 9在 C 中,我编写了以下代码:

i=0
for i in range(len(F)):  
    A.append(F[i])
    B.append(F[i+1])
    if i < range(len(F)): 
        i=i+1

但是输出是:

A.append(F[i])
B.append(F[i+1])
     if i < range(len(F)):
         i=i+1

IndexError: list index out of range. 

最佳答案

您的代码中的问题是当i 到达F 的末尾时没有F[i+1]。使用列表理解是解决此问题的更好方法:

F = ['mary', 'zari', 'ali', 'fari','Thaghi', 'zagi', 'shad', 'sila', 'bita']
A = [item for i, item in enumerate(F) if i % 3 == 0]
B = [item for i, item in enumerate(F) if i % 3 == 1]
C = [item for i, item in enumerate(F) if i % 3 == 2]

结果是:

>>> A
['mary', 'fari', 'shad']
>>> B
['zari', 'Thaghi', 'sila']
>>> C
['ali', 'zagi', 'bita']

关于python - 提取列表中无序的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37256332/

相关文章:

Python urllib3 错误 - 导入错误 : cannot import name UnrewindableBodyError

java - 如何在 Java 应用程序中使用 jython 独立 jar 文件

python - Timedelta 时间差表示为 float 变量

javascript - 从 python 编辑 .js 文件

python - 在 Python 中重载尖括号

Python 回调函数占位符?

python - 如何使用正则表达式在字符串中查找具有特定规则的子字符串?

python - 如何在 Python 中查找两个目录?

python - 带 ffill 的 GroupBy 删除组并且不将组放入索引

python - Keras LSTM 从 CSV "expected ndim=3, found ndim=2. Full shape received: (None, 150)"加载数据