【问题标题】:How to access name of a list in a list of lists如何访问列表列表中的列表名称
【发布时间】:2018-09-05 22:48:35
【问题描述】:

我有一个列表列表的场景:

list1 = [aa] + [bb] + [cc]
list2 = [dd] + [ee] + [ff]
...
listn

listoflists = []
listoflists.append((list1, list2, ..., listn))

我需要通过创建一个数据框来遍历列表列表,该数据框拉动每个列表并创建每个列表的 excel 文件并使用文件名保存它:list1.xlsxlist2.xlsx 等。为了做到但是,我需要能够从列表中提取列表的名称。

也许我以完全错误的方式处理这个问题。但如果有人能提供一些建议,那将非常有帮助。

谢谢!

【问题讨论】:

  • listoflists.append((list1, list2, ..., listn)) 将列表元组放入您的列表中。那么您有列表列表还是列表元组列表?
  • 这部分令人担忧:“我需要能够提取列表的名称”......您需要该特定部分的有序字典,但您试图解决的问题的根源是什么解决?什么是aa 之类的?还是只是创建pandas 数据框的练习?
  • 为什么不从一开始就使用列表列表呢?或者使用 dict 来跟踪您的列表,然后您可以迭代它来构建您的列表列表。

标签: python excel list pandas


【解决方案1】:

我已经对列表中的测试进行了一些更改,不要关心这个;)

试试这个:

l1 = ['a','b'] + ['c','d']+['e','f']
l2 = ['g','h']+['i','j']+['k','l']

listOfLists = []

listOfLists.append((l1, l2))

for lis in listOfLists[0]:
    name = [k for k,v in locals().items() if v is lis][0]
    # here is rest of your code to create excel file

【讨论】:

    【解决方案2】:

    您需要使用字典列表

    list1 = {"name": "list1", "data": [aa] + [bb] + [cc]}
    list2 = {"name": "list2", "data": [dd] + [ee] + [ff]}
    listN = {"name": "listN", "data": [xx] + [yy] + [zz]}
    
    listoflists = []
    listoflists.append((list1, list2, ..., listN))
    
    for list in listoflists:
        file = open(list["name"], "w+")
        file.write(list["data"])
        file.close()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多