Answer the question
In order to leave comments, you need to log in
How to improve the array handler?
There is an array:
[
['Место', 'адрес', 'время', 'событие, 'время', 'событие'], \
['Место', 'адрес', 'время', 'событие, 'время', 'событие', 'событие'], \
['Место', 'адрес', 'время', 'событие', 'событие', 'время', 'событие'], \
['Место', 'адрес', 'время', 'событие', 'событие']
]
Place Место
Address адрес
Time время
Event событие
#следующий список..
Place Место
Address адрес
Time время
Event событие
Event событие
#следующий список..
Place Место
Address адрес
Time время
Event событие
Time время
Event событие
#следующий список..
#zapros - массив
s=''
i=0
for line in zapros:
s += 'Place '+ line[0] + '\n'+ 'Address ' + line[1] + '\n' + ' Time ' + line[2] + '\n' + 'Event ' + line[3] + '\n'
if len(zapros[i]) == 4 :
s += '\n\n'
if len(zapros[i]) == 5 :
s+='Event '+line[4] +'\n\n'
if len(zapros[i]) == 6 :
s+=' Time '+line[4] +'\n'+ 'Event '+ line[5]+'\n\n'
if len(zapros[i]) == 7 :
s+=' Time '+line[4] +'\n'+ 'Event '+ line[5]+'\n' + 'Event '+ line[6]+'\n\n'
if len(zapros[i]) == 8 :
s+=' Time '+line[4] +'\n'+ 'Event '+ line[5]+'\n'+' Time '+line[6] +'\n'+ 'Event '+ line[7]+'\n\n'
if len(zapros[i]) == 9 :
s+=' Time '+line[4] +'\n'+ 'Event '+ line[5]+'\n'+' Time '+line[6] +'\n'+ 'Event '+ line[7]+'\n'+ 'Event '+ line[8]+'\n\n'
if len(zapros[i]) == 10 :
s+=' Time '+line[4] +'\n'+ 'Event '+ line[5]+'\n'+' Time '+line[6] +'\n'+ 'Event '+ line[7]+'\n'+' Time '+line[8] + 'Event '+ line[9]+'\n\n'
i+=1
Place Место
Address адрес
Time время
Event событие
Time время
Event событие
Event событие
Place Место
Address адрес
Time время
Event событие
Time событие
Event время
Event событие
Answer the question
In order to leave comments, you need to log in
Given the information available, try the following as an option:
# Словарь для сортировки данных
>>> from collections import defaultdict
>>> events_dict = defaultdict(dict)
>>> for data in events_data:
*place, time, event = data
if time in events_dict[tuple(place)]:
events_dict[tuple(place)][time].append(event)
else:
events_dict[tuple(place)][time] = [event]
# Имеем
>>> pprint.pprint(dict(events_dict))
{('place1', 'address1'): {'time1': ['event1', 'event2']},
('place2', 'address2'): {'time1': ['event1'],
'time2': ['event1', 'event2', 'event3']},
('place3', 'address3'): {'time1': ['event1'],
'time2': ['event1', 'event2', 'event3']}}
# Выводим на печать
>>> for place in events_dict:
print('\nPlace: {}\nAddress: {}'.format(*place))
for time, events_in_time in events_dict[place].items():
print('Time: ', time)
print(('Event: {}\n' * len(events_in_time)).format(*events_in_time), end='')
Well, if the data is as it is, then so)
data = [
['Место', 'адрес', 'время', 'событие', 'время', 'событие'], \
['Место', 'адрес', 'время', 'событие', 'время', 'событие', 'событие'], \
['Место', 'адрес', 'время', 'событие', 'событие', 'время', 'событие'], \
['Место', 'адрес', 'время', 'событие', 'событие']
]
my_dict = {'Место': 'Place', 'адрес': 'Address', 'время': 'Time', 'событие': 'Event'}
def main():
for i in range(len(data)):
print("#следующий список...")
for j in data[i]:
print(my_dict[j], j)
if __name__ == '__main__':
main()
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question