繁体   English   中英

遍历枚举返回括号中的字符串

[英]Iterating through enumerate returns strings in brackets

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

所以这个清单

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

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

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))  

退货

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

为什么它返回时带有方括号,引号等,而另一个不返回? 还是缺少什​​么? 顺便说一下,我对python还是相当陌生的。

我的预期输出是这个

1. Team1 91 Pts
2. Team2 89 Pts
3. Team3 87 Pts 

你可以试试:

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

枚举返回索引(在这种情况下为1-3)和每个可迭代值(在这种情况下为team)。 从iterable返回的值将是元组。 您可以如上所述展开元组。

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]))  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM