从Sage上的列表中查找元素

问题描述 投票:1回答:1

我有一个包含以下内容的文件,我在Sage中导入。

James,4626544,56565656
Julian,4646463,346346364
Perez,4626544,56565656
Paul,7658568,56565656
Ronaldo,4626544,8468568
Zlatan,4626544,56565656

现在从一个Sage工作表(.sagews),我想恢复对应于以P到R的字母开头的名字的行(恢复:Perez,Paul和Ronaldo)。

我试过了

for x in THEFILE
    print from x[0][0]='P' to x[0][0]='R'

并得到一个错误。我是怎么做到的(我已经在Sage工作表中导入了该文件以使用它)。

python sage
1个回答
0
投票

根据文件读入Sage的方式,THEFILE可能是与文件中的行对应的字符串列表,即

['James,4626544,56565656',
 'Julian,4646463,346346364',
 'Perez,4626544,56565656',
 'Paul,7658568,56565656',
 'Ronaldo,4626544,8468568',
 'Zlatan,4626544,56565656']

或字符串列表列表:

[['James', '4626544', '56565656'],
 ['Julian', '4646463', '346346364'],
 ['Perez', '4626544', '56565656'],
 ['Paul', '7658568', '56565656'],
 ['Ronaldo', '4626544', '8468568'],
 ['Zlatan', '4626544', '56565656']]

在下面相应地使用x [0]或x [0] [0]。

上述内容:

for x in THEFILE:
    if 'P' <= x[0] <= 'R':
        print(x)

要获取提取的列表:

P_to_R = [x for x in THEFILE if 'P' <= x[0] <= 'R']

Python csv模块或pandas包也可以帮助处理这样的数据:

要在Sage中安装pandas,请在终端中运行以下命令:

sage --pip install pandas
© www.soinside.com 2019 - 2024. All rights reserved.