2017-10-15 58 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 
相關問題