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

Le code ci-dessus donne une liste de noms de district d'un état Bihar. Quelque chose comme ci-dessous la table.Comment ajouter une valeur statique à chaque ligne créée par une boucle dans python3?

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

Mais je veux ajouter un élément statique "Bihar" à chaque rangée. quelque chose comme ci-dessous.

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

J'ai essayé de achive qu'en utilisant le code district_name.insert(0,'Bihar'). mais cela ne donne pas le résultat attendu. ça nous donne.

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

Plese m'aider à ce sujet.

+0

Vous devriez regarder la mise en forme JSON. Cela vous donnera une bien meilleure structure de données que ce que vous avez écrit –

Répondre

2

vérifierons ce code sur:

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, 'Bihar') se traduira par l'insertion du Bihar comme le premier élément de district_name. Mais votre intention est différente. Vous voulez qu'il soit inséré en 1ère position de chaque liste dans la liste.

de sorte que vous pourriez avoir à faire

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

Vous pouvez parcourir la liste district_name et insérer dans chaque liste de positions « Bihar » 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