通过枚举迭代返回括号中的字符串

时间:2018-03-14 04:01:40

标签: python

我有团队列表,我想实际将它们放在数据库中,但我有枚举问题循环

所以这个列表

 DB::table('table_name')->update(['accept_time' => DB::raw('CURRENT_TIME')]);

我首先尝试了这个并且简单的循环,没有问题。

teams = [
        ('Team1', '91'),
        ('Team2', '89'),
        ('Team3', '87')
        ]

返回

for name, num in teams:
    print (name,num)

然后我想添加一些格式并尝试枚举

Team1 91
Team2 89
Team3 87 

返回

for name, num in enumerate(teams, start=1):
    print("{}. {} Pts".format(name, num))  

为什么它用括号返回,引用e.t.c.而另一个不是?或者我错过了什么?顺便说一句,我对python相当新。

我预期的输出是这个

1. ('Team1', '91') Pts
2. ('Team2', '89') Pts
3. ('Team3', '87') Pts          

2 个答案:

答案 0 :(得分:5)

您可以尝试:

for i, (name, num) in enumerate(teams, start=1):
    print("{}. {} {} Pts".format(i, name, num))  

枚举返回索引(在本例中为1-3)和iterable的每个值(本例中为团队)。从iterable返回的值将是元组。您可以扩展元组,如上所示。

答案 1 :(得分:2)

enumerate()函数为迭代添加一个计数器,因此您的num仍然是数组中的每个项目(即元组)。

teams = [
    ('Team1', '91'),
    ('Team2', '89'),
    ('Team3', '87')
]

for index, item in enumerate(teams, start=1):
    print("{}. {} {} Pts".format(index, item[0], item[1]))