myDict = {'Name': ['Daniel', 'Melissa', 'Vicky', 'Winona'],
'Tribe': ['Bataknese', 'Javanese', 'Bataknese', 'Javanese'],
'Town': ['Indramayu', 'Jakarta', 'Jakarta', 'Batam'],
'Username': ['dan.iel', 'melissaaaa', 'vic.ky', 'weenonuhh']}
myList = [['Daniel', 'Bataknese', 'Indramayu', 'dan.iel'],
['Melissa', 'Javanese', 'Jakarta', 'melissaaaa'],
['Vicky', 'Bataknese', 'Jakarta', 'vic.ky'],
['Winona', 'Javanese', 'Batam', 'weenonuhh']]
How to make function to add/append more values to the dictionary and the list?
def add(something):
....
add('Clara Angela;;;Balinese;;;Bali;;;clara123')
Then, myDict and my List should be like this:
myDict = {'Name': ['Daniel', 'Melissa', 'Vicky', 'Winona','Clara Angela'],
'Tribe': ['Bataknese', 'Javanese', 'Bataknese', 'Javanese','Balinese'],
'Town': ['Indramayu', 'Jakarta', 'Jakarta', 'Batam','Bali'],
'Username': ['dan.iel', 'melissaaaa', 'vic.ky', 'weenonuhh','clara123']}
myList = [['Daniel', 'Bataknese', 'Indramayu', 'dan.iel'],
['Melissa', 'Javanese', 'Jakarta', 'melissaaaa'],
['Vicky', 'Bataknese', 'Jakarta', 'vic.ky'],
['Winona', 'Javanese', 'Batam', 'weenonuhh'],
['Clara Angela', 'Balinese', 'Bali', 'clara123']]
Assuming order is correct; use str.split
and append that to myList
, then just loop over myDict.values()
appending each value ( zip
will be handy for this) :
def add(data):
data = data.split(';;;')
myList.append(data)
for l, v in zip(myDict.values(), data):
l.append(v)
add('Clara Angela;;;Balinese;;;Bali;;;clara123')
Results:
myDict
{'Name': ['Daniel', 'Melissa', 'Vicky', 'Winona', 'Clara Angela'],
'Town': ['Indramayu', 'Jakarta', 'Jakarta', 'Batam', 'Bali'],
'Tribe': ['Bataknese', 'Javanese', 'Bataknese', 'Javanese', 'Balinese'],
'Username': ['dan.iel', 'melissaaaa', 'vic.ky', 'weenonuhh', 'clara123']}
myList
[['Daniel', 'Bataknese', 'Indramayu', 'dan.iel'],
['Melissa', 'Javanese', 'Jakarta', 'melissaaaa'],
['Vicky', 'Bataknese', 'Jakarta', 'vic.ky'],
['Winona', 'Javanese', 'Batam', 'weenonuhh'],
['Clara Angela', 'Balinese', 'Bali', 'clara123']]
If you're not using Python 3.X where dict's are ordered then operator.itemgetter
is your next best thing:
get_lists = itemgetter('Name', 'Tribe', 'Town', 'Username')
for l, v in zip(get_lists(myDict), data):
...
Here is a code that will do that:
myDict = {'Name': ['Daniel', 'Melissa', 'Vicky', 'Winona'],
'Tribe': ['Bataknese', 'Javanese', 'Bataknese', 'Javanese'],
'Town': ['Indramayu', 'Jakarta', 'Jakarta', 'Batam'],
'Username': ['dan.iel', 'melissaaaa', 'vic.ky', 'weenonuhh']}
def add ( Name, Tribe, Town, Username):
myDict["Name"].append(Name)
myDict["Tribe"].append(Tribe)
myDict["Town"].append(Town)
myDict["Username"].append(Username)
add("Clara Angela","Balinese","Bali","clara123")
print(myDict)
The output will be:
{'Name': ['Daniel', 'Melissa', 'Vicky', 'Winona', 'Clara Angela'],
'Tribe': ['Bataknese', 'Javanese', 'Bataknese', 'Javanese', 'Balinese'],
'Town': ['Indramayu', 'Jakarta', 'Jakarta', 'Batam', 'Bali'],
'Username': ['dan.iel', 'melissaaaa', 'vic.ky', 'weenonuhh', 'clara123']}
However if the input should be in the way you asked, then modify the code to this:
myDict = {'Name': ['Daniel', 'Melissa', 'Vicky', 'Winona'],
'Tribe': ['Bataknese', 'Javanese', 'Bataknese', 'Javanese'],
'Town': ['Indramayu', 'Jakarta', 'Jakarta', 'Batam'],
'Username': ['dan.iel', 'melissaaaa', 'vic.ky', 'weenonuhh']}
def add (i):
j=i.split(";;;")
myDict["Name"].append(j[0])
myDict["Tribe"].append(j[1])
myDict["Town"].append(j[2])
myDict["Username"].append(j[3])
add(i)
print(myDict)
You can do:
myDict = {'Name': ['Daniel', 'Melissa', 'Vicky', 'Winona'],
'Tribe': ['Bataknese', 'Javanese', 'Bataknese', 'Javanese'],
'Town': ['Indramayu', 'Jakarta', 'Jakarta', 'Batam'],
'Username': ['dan.iel', 'melissaaaa', 'vic.ky', 'weenonuhh']}
myList = [['Daniel', 'Bataknese', 'Indramayu', 'dan.iel'],
['Melissa', 'Javanese', 'Jakarta', 'melissaaaa'],
['Vicky', 'Bataknese', 'Jakarta', 'vic.ky'],
['Winona', 'Javanese', 'Batam', 'weenonuhh']]
def add(my_string):
splitted = my_string.split(';;;')
myList.append(splitted)
for i, item in enumerate(['Name', 'Tribe', 'Town', 'Username']):
myDict[item].append(splitted[i])
add('Clara Angela;;;Balinese;;;Bali;;;clara123')
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.