Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # oryginal: https://pastebin.com/krRhJNQm
- def func(years, fields):
- print [ (year.year, field) for year, field in zip(years, fields) ]
- def func(years, fields):
- print list(map(lambda d: (d[0].year, d[1]), zip(years, fields)))
- # --- script for test ---
- #!/usr/bin/env python3
- def func0(years, fields):
- result = []
- for i, y in enumerate(years):
- tup = (y, fields[i])
- result.append(tup)
- #print(result)
- def func0zip(years, fields):
- result = []
- for y, f in zip(years, fields):
- result.append((y, f))
- #print(result)
- def func1(years, fields):
- result = [(y.year, f) for (y, f) in zip(years, fields)]
- #print(result)
- def func2(years, fields):
- result = list(map(lambda d: (d[0].year, d[1]), zip(years, fields)))
- #print(result)
- # --- test ---
- import random
- import datetime
- import string
- # random data
- size = 10009
- fields = [ random.choice(string.ascii_letters) for x in range(size) ]
- dates = [ datetime.datetime(random.randint(1900, 2018), 1, 1) for x in range(size) ]
- #print(fields)
- #print(dates)
- #print()
- start = datetime.datetime.now()
- func0(dates, fields)
- end = datetime.datetime.now()
- print('time:', end-start)
- start = datetime.datetime.now()
- func0zip(dates, fields)
- end = datetime.datetime.now()
- print('time:', end-start)
- start = datetime.datetime.now()
- func1(dates, fields)
- end = datetime.datetime.now()
- print('time:', end-start)
- start = datetime.datetime.now()
- func2(dates, fields)
- end = datetime.datetime.now()
- print('time:', end-start)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement