Python:为每个添加多个值

时间:2018-09-11 19:42:09

标签: python automated-tests

使用Selenium + Python,我正在尝试使用多个值来发送foreach循环,到目前为止,我仍然可以发送到值,但是如果我插入,语法似乎是不正确的:

lists = {
      'name1' : 'surname1'
      'name2' : 'surname2'
      'name2' : 'surname2'
}

我需要通过foreach传递给Selenium的是这种数据:

lists = {
      'name1' : 'surname1' : 'age1' : 'location1'
      'name2' : 'surname2' : 'age2' : 'location2'
      'name2' : 'surname2' : 'age3' : 'location3'
}

我确定我在这里做了一些错误的语法,有帮助吗?

2 个答案:

答案 0 :(得分:3)

如果您需要对要在for循环中使用的多个值集进行分组,可以尝试

lists = [['name1', 'surname1', 'age1', 'location1'],
         ['name2', 'surname2', 'age2', 'location2'],
         ['name3', 'surname3', 'age3', 'location3']]

然后迭代为

for item in lists:
    name = item[0]
    surname = item[1]
    age = item[2]
    location = item[3]
    # do something with all those values

或替代(首选):

for name, surname, age, location in lists:
    # do something with all those values

答案 1 :(得分:0)

如果surnameagelocation是具有name的人的财产/属性,则可以通过将人name作为dictionary key并像这样list保留所有其他属性

lists = { 
    name1 : [surname1 , age1, location1],
 } 

然后您可以如下迭代列表-

for key,value in lists: 
    # do something with key 
    for surname,age,location in value: 
        # do something with surname,key,location