2017-07-27 2 views
0

Hinzufügen habe ich eine Liste Python wie folgt:eine separate Zeichenfolge jedes Element in der Liste

new_list = ['emp_salary', 'manager_sal'] 

ich möchte es unten ändern:

['emp_salary' : 'float', 'manager_sal':'float'] 

ich so etwas wie dies versucht:

>>> users_cols = [l+ ": float" for l in new_list] 
    >>> users_cols 
     ['emp_salary: float', 'manager_sal: float'] 

Aber es ist nicht genau das, was ich will. Die aktuelle Liste ist sehr groß, und dies ist ein kleines Beispiel

+0

Ihre gewünschte Ausgabe ist nicht gültig Python. Was versuchst du zu machen? – asongtoruin

+2

'['emp_salary': 'float', 'manager_sal': 'float']' ist keine gültige Python-Syntax. Willst du eigentlich '{'emp_salary': 'float', 'manager_sal': 'float'}'? –

+1

Versuchen Sie, ein Wörterbuchobjekt zu erstellen '{'emp_salary': 'float', 'manager_sal': 'float'}'? – nanojohn

Antwort

1

aus Gründen der completedness:

new_list = ['emp_salary', 'manager_sal']  
new_dict = dict.fromkeys(new_list, "float") 

Beachten Sie, dass dies nur funktioniert, wenn Sie den gleichen Wert für jeden der Schlüssel haben möchten. Verwenden Sie dies nicht, um Ihre veränderbaren Werte (wie Mengen, Listen, Wörterbücher ...) zu deklarieren, außer Sie möchten, dass alle auf dieselbe Instanz verweisen.

+0

In der Tat. Zum Beispiel werden 'dict.fromkeys (new_list, [])' alle 'dict'-Werte zur gleichen' liste' machen, was im Allgemeinen unerwünscht ist. –

1

Sie dies richtig tun können, definieren und ein Wörterbuch initialisieren:

new_list = ['emp_salary', 'manager_sal'] 
users_cols = {} 
for key in new_list: 
    users_cols[key] = 'float' 
1
new_list = ['emp_salary', 'manager_sal'] 
new_dict = {key: 'float' for key in new_list} 
1

In Liste gibt es keine solche Sache, die Sie Wörterbuch benötigen dafür, die speichert Schlüssel-Wert-Paar:

users_col = { key: "float" for key in new_list } 
0

Sie können dies versuchen:

new_list = ['emp_salary', 'manager_sal'] 

final_dict = dict(map(lambda x: (x, "float"), new_list)) 
Verwandte Themen