python - 返回要索引的文本文件中的项目列表

标签 python list indexing

我正在尝试编写一个从文本文件返回城市列表的函数,以便在调用该函数时,您可以在其后面放置一个索引,它将返回相应的城市。

示例:

citylist('MYFILE.txt')[3]

到目前为止,我已经

def citylist(filename):
    assert type(filename)==str

    with open(filename) as FileObject:
        for line in FileObject:
            q=line.split('\t')
            print q[12],

有 500 条投诉。当我将每个字符串(投诉)拆分为一个列表后,城市名称是列表中的第 13 个索引。但我陷入困境,因为我所能做的就是将所有城市名称打印为无法索引的非数据类型。

最佳答案

您可以创建一个列表并返回它:

def citylist(filename):
  assert type(filename)==str  #isinstance(filename,str) is more idiomatic here.

  output = []
  with open(filename) as FileObject:
    for line in FileObject:
      q = line.split('\t')
      output.append(q[12]) 
  return output

或者,更简洁:

def citylist(filename):
    with open(filename) as f:
        return [ line.split('\t')[12] for line in f ]

我使用 list-comprehension 构建了列表在最后一个例子中。

关于python - 返回要索引的文本文件中的项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021549/

相关文章:

python - Pandas Dataframe 相对索引

scala - 使用Scala为geo_point明确映射

python - 结合 groupby 并在 multiIndex DataFrames 中应用

list - 如何在reactjs中添加和删除列表的添加类?

python - 自动评分器脚本 - 从文本文件读取键盘输入

list - 如何设置行高 Sencha Touch List

c# - List<T>.IndexOf() 在 C# 中是如何实现的?

python - 开发反向查找字典的有效方法?

python - 根据 python pandas 中其他列的值创建一个新列

python - 错误: You must give at least one requirement to install -- when running: pip install --upgrade --no-binary hdbscan