使用循环创建元组,而不是单独指定每个元素

时间:2016-01-26 19:27:45

标签: python

我正在尝试将tuple创建为:

tuples = (i+1,
          db.entries[i].get("ENTRYTYPE"),
          db.entries[i].get("ID"),
          db.entries[i].get("title"),
          db.entries[i].get("author"),
          db.entries[i].get("journal"),
          db.entries[i].get("year")
          )

其中db是数据库,i已正确定义。

现在,get(" text")有大约40个不同的文本。我可以手动完成它,它正在工作。但是有可能以其他方式做到这一点,例如循环如:

Entries = ["ENTRYTYPE", "ID", "title", "author" ...]
for entry in entries:
  tuples = (i+1, db.entries.get(entry)

2 个答案:

答案 0 :(得分:2)

应该像tuples = (i+1,) + tuple(db.entries.get(e) for e in Entries)

一样简单

答案 1 :(得分:1)

如果你真的需要一个元组,试试这个:

tuples = tuple([i+1] + [db.entries.get(entry) for entry in entries])