2017-10-15 48 views
1
district_name= [[li.getText() for li in data_rows[i].findAll('li')] 
       for i in range(len(data_rows))] 

上面的代码给出了一个州比哈尔邦的地区名称列表。像下面的表一样。如何为python3中的循环创建的每一行添加一个静态值?

[['1', 'Nalanda'], 
['2', 'Patna'], 
['3', 'Gaya'], 
['4', 'Buxer']] 

但我想添加一个静态元素“Bihar”againest每一行。像下面的东西。

[['1', 'Bihar', 'Nalanda'], 
['2', 'Bihar', 'Patna'], 
['3', 'Bihar', 'Gaya'], 
['4', 'Bihar', 'Buxer']] 

我试图通过使用代码district_name.insert(0,'Bihar')才达到这一点。但它没有给出预期的结果。它给了我们。

['Bihar',['1', 'Nalanda'], 
['2', 'Patna'], 
['3', 'Gaya'], 
['4', 'Buxer']] 

Plese帮我解决这个问题。

+0

你应该看看JSON格式。它会给你一个比你写的更好的数据结构 –

回答

2

检查此代码出来:

x = [['1', 'Nalanda'], ['2', 'Patna'], ['3', 'Gaya'], ['4', 'Buxer']] 

for i in range(len(x)): 
    x[i].insert(1,'Bihar') 

print(x) 

district_name.insert(0, '比哈尔邦')将导致插入比哈尔作为district_name的第一个元素。 但你的意图是不同的。您希望它被插入列表中每个列表的第一个位置。

所以你可能需要做

for i in range(len(x)): 
     district_name[i].insert(1,'Bihar') 
1

可以迭代district_name列表并插入每个列表“比哈尔邦”位置1。

district_name= [[li.getText() for li in data_rows[i].findAll('li')] 
       for i in range(len(data_rows))] 

y = [district_name[index].insert(1,'Bihar') for index in range(len(district_name))] 

print district_name 
相关问题