while n:
i += 1
istart = raw_input("Interview Start Time: ")
iend= raw_input("Interview End Time: ")
ipeople= raw_input("What are the interviewer names: ")
itype= raw_input("What is the interview type: ")
lis.append({istart, iend, ipeople, itype})
n-=1
for i in lis:
print i
IT生产这个例子
set(['9', '8', 'problem', 'john smith'])
set(['john deer', '10', '9', 'fit'])
我怎样才能确保每次使用Python中的列表都能以相同的顺序附加内容?最终的目标是将其写入我已设置的名为mydoc.doc的文件,但我需要将其格式化为一个像display这样的表格,以一种漂亮的表格格式显示,这就是为什么每个子列表中的一致性是关键的。是否有一个python库可以帮助创建一个表。我知道我可以使用破折号,但我需要一个更好的HTML样式表。
答案 0 :(得分:5)
选择tuple
作为数据结构而不是set
。 tuple
会保存订单,而set
则不会。这会将附加语句中的{
和}
更改为(
和)
。这将附加tuple
。除此之外,如果istart
和iend
相同,那么set
只会存储一个副本。
lis.append((istart, iend, ipeople, itype))
示例输出
Interview Start Time: 8
Interview End Time: 9
What are the interviewer names: john smith
What is the interview type: problem
Interview Start Time: 9
Interview End Time: 10
What are the interviewer names: john deer
What is the interview type: fit
('8', '9', 'john smith', 'problem')
('9', '10', 'john deer', 'fit')
参考 -
答案 1 :(得分:2)
set
与dict
一样,使用哈希表,因此在其项目中有否顺序 - 而且完全< / strong>您在
lis.append({istart, iend, ipeople, itype})
因为你关心物品&#39;订购,使用set
- 使用确实维护项目排序的类型是荒谬的,例如list
(方括号):
lis.append([istart, iend, ipeople, itype])
或tuple
(括号):
lis.append((istart, iend, ipeople, itype))
在任何一种情况下,要从结果列表中生成一个漂亮的HTML表格,您可以安装并使用http://www.decalage.info/en/python/html。
一旦 安装了该模块,并将lis
作为子列表列表:
import HTML
table = HTML.table(lis)
print table
为你做的一切。 (你可能想要一个第一个给出列名的子列表,tho)。
答案 2 :(得分:0)
试试这个:
n = True
sublis = []
while n:
istart = raw_input("Interview Start Time: ")
iend = raw_input("Interview End Time: ")
ipeople = raw_input("What are the interviewer names: ")
itype = raw_input("What is the interview type: ")
sublis.append([istart,iend,ipeople,itype])
n = False
lis.append(sublis)
因此,请将其用作列表格式,而不是保留顺序。