创建for循环以查找变量中的字符串

时间:2016-01-04 22:32:33

标签: python python-2.7

我正在处理我的代码以创建for循环获取字符串列表。

我想为变量pos_X创建一个循环,这样我就可以使用它们来查找字符串375,然后从变量prog_id中获取字符串列表以添加它们清单。

以下是代码:

program_button = [elem.control for elem in self.program_buttons]
progId = list()
posX = list()
posY = list()
prog_id_list = list()
prog_index_list = list()

for elem in program_button:
    progId.append(elem.getId())
    posX.append(elem.getX())
    posY.append(elem.getY())
progId = map(str, progId)
posX = map(str, posX)
posY = map(str, posY)
prog_index_list = [program_index_]


for pos_X, pos_Y, prog_id, prog_index in izip_longest(posX, posY, progId, program_index_, fillvalue=''):
    print pos_X

    #create a for loop to find the strings 375 with variable pos_X
    prog_id_list += [prog_id]

以下是pos_X

的输出
 ['375', '1073', '1422', '1513', '1604', '1953', '375', '1073', '1422', '1946', '2644', '3342', '375', '1420', '2465', '3163', '5252', '5950', '375', '1073', '1771', '2469', '3167', '3865', '375', '1073', '1771', '3513', '4558', '5256', '5605', '375', '724', '1073', '1771', '2469', '3167', '3865', '375', '1073', '1771', '2469', '3167', '3865', '4563', '5261']

我不知道在创建for循环时如何在变量375中找到字符串pos_X,我不知道如何使用字符串作为索引来查找匹配的字符串prog_id

列表

你能告诉我怎么做吗?

修改

当我在for循环下尝试这个时:

for pos_X, pos_Y, prog_id, prog_index in izip_longest(posX, posY, progId, program_index_, fillvalue=''):
    if int(pos_X) == 375:
        print prog_id

当我使用prog_id语句时,以下是if int(pos_X) == 375:的输出:

22:49:15 T:6892  NOTICE: 3003
22:49:15 T:6892  NOTICE: 3131
22:49:15 T:6892  NOTICE: 3259
22:49:15 T:6892  NOTICE: 3387
22:49:15 T:6892  NOTICE: 3515
22:49:15 T:6892  NOTICE: 3643
22:49:15 T:6892  NOTICE: 3771

我想使用字符串pos_X375创建for循环,以便我可以从字符串prog_id中找到我想要的ID,以便在列表中添加ID { {1}}。

1 个答案:

答案 0 :(得分:1)

我相信你可以这样做:

program_button = [elem.control for elem in self.program_buttons]
progId = list()
posX = list()
posY = list()
prog_id_list = list()
prog_index_list = list()

for elem in program_button:
    progId.append(elem.getId())
    posX.append(elem.getX())
    posY.append(elem.getY())
progId = map(str, progId)
posX = map(str, posX)
posY = map(str, posY)

for i in range(len(posX)):
    pos_X = posX[i]
    if pos_X == '375':
        prog_id_list.append( progId[i] )
        prog_index_list.append( i )