尝试从列表中的元素创建变量

时间:2012-05-14 22:06:59

标签: python list element

这是我第二次尝试提出这个问题,希望这次会更加简洁。

我有一个板球得分计算器的击球手名单我试图起床和跑步。 例如。

    batsmen = ['S Ganguly', 'M Brown', 'R Uthappa', 'A Majumdar', 'S Smith', 'A Mathews', 'M Manhas', 'W Parnell', 'B Kumar', 'M Kartik', 'A Nehra']

有了这个列表,我有一个for循环,我目前没有列表,它只是计算2个团队并找到胜利者。

    for overs in range(overlimit):
       for balls in range(6):
          balls_team = balls_team+ 1
          runtotal_team = input('Enter runs: ')

我正在尝试利用这个列表作为保持得分以及为每个击球手保持价值的手段。

我希望你们其中一个人可以提供帮助。我假设可以使用while循环,但我无法弄清楚如何实现列表..

3 个答案:

答案 0 :(得分:4)

词典?

batsmenDict = {
 'A Majumdar': 0,
 'A Mathews': 0,
 'A Nehra': 0,
 'B Kumar': 0,
 'M Brown': 0,
 'M Kartik': 0,
 'M Manhas': 0,
 'R Uthappa': 0,
 'S Ganguly': 0,
 'S Smith': 0,
 'W Parnell': 0}

batsmenDict['M Manhas'] += 1

甚至还有一种称为defaultdict的特殊集合类型,可让您为每个玩家设置默认值0:

from collections import defaultdict

batsmenDict = defaultdict(int)
print batsmenDict['R Uthappa']
# 0
batsmenDict['R Uthappa'] +=1 
print batsmenDict['R Uthappa']
# 1

答案 1 :(得分:1)

你想使用dict,然后击球手的名字可以成为dict的关键,他们的跑/得分值。

答案 2 :(得分:0)

使用字典

>>> batsmen = [ ... ]
>>> d = dict.fromkeys(batsmen)
>>> d['A Mathews'] = 14
>>> d['A Mathews']
14