如何为python3中的循环创建的每一行添加一个静态值?
问题描述:
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帮我解决这个问题。
答
检查此代码出来:
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')
答
可以迭代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
你应该看看JSON格式。它会给你一个比你写的更好的数据结构 –