【发布时间】:2017-04-24 05:59:28
【问题描述】:
每个列表的Element3 是一个列表(在括号中)。我希望 element3 是字符串 'store1.txt' 而不是 ['store1.txt']。
store_list = [["Freds", "store1"], ["Sams", "store2"], ["Johns", "store3"], ["Toms", "store4"]]
urls_list = ['store1.txt', 'store2.txt', 'store3.txt', 'store4.txt', 'store5.txt', 'store6.txt']
ls = []
for x in store_list:
str_num = x[1]
matching = [s for s in urls_list if str_num in s]
x.insert(3, matching)
ls.append(x)
for i in ls:
print i
【问题讨论】:
-
ettanany 和 rassar 的答案都适用于我的示例,但它们不适用于我的实际脚本。将 [0] 添加到匹配行的末尾时,我得到一个 IndexError: list index out of range。添加 .pop() 时,我得到 IndexError: pop from empty list。叹息,但是当我在没有任何一个的情况下运行代码时,它会按照应有的方式运行并在该元素中返回一个列表。
-
我现在明白了。有些列表是空的,因为它们生成不正确,因此无法弹出空列表。再次感谢您的精彩。
标签: python string python-2.7 list for-loop