Advertisement
Guest User

Untitled

a guest
Oct 25th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. from itertools import cycle
  2. letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l']
  3.  
  4. #2d-array initialization
  5. width, height = 3, 6
  6. repRange = cycle(range(1, 3))
  7. values = [0] * (width - 1)
  8. array2d = [[next(repRange)] + values for y in range(height)]
  9.  
  10. #Filling array with letters:
  11. m = 0
  12. for i in range(height):
  13. for j in range(1,width):
  14. array2d[i][j] = letters[m]
  15. m+=1
  16.  
  17. #Printing:
  18. for row in array2d:
  19. print(row)
  20.  
  21. [1, 'a', 'b']
  22. [2, 'c', 'd']
  23. [1, 'e', 'f']
  24. [2, 'g', 'h']
  25. [1, 'i', 'j']
  26. [2, 'k', 'l']
  27.  
  28. def defineSection(i, division, height):
  29. if i <= division:
  30. return 1
  31. elif division*2 >= i > division :
  32. return 2
  33. elif division*3 >= i > division*2 :
  34. return 3
  35.  
  36. dic = {}
  37. for i in range(height):
  38. for j in range(1,width):
  39. section = defineSection(i+1, 2, height)
  40. dic.update({array2d[i][j] : section})
  41.  
  42. for item in dic.items():
  43. print(item)
  44.  
  45. ('f', 2)
  46. ('b', 1)
  47. ('c', 1)
  48. ('e', 2)
  49. ('k', 3)
  50. ('g', 2)
  51. ('d', 1)
  52. ('a', 1)
  53. ('l', 3)
  54. ('h', 2)
  55. ('i', 3)
  56. ('j', 3)
  57.  
  58. In [3]: from itertools import cycle
  59.  
  60. In [4]: letters = "abcdefghijkl"
  61.  
  62. In [5]: iter_letters = iter(letters)
  63.  
  64. In [6]: matrix = [[i,a,b] for i,a,b in zip(ranges,iter_letters,iter_letters)]
  65.  
  66. In [7]: matrix
  67. Out[7]:
  68. [[2, 'a', 'b'],
  69. [1, 'c', 'd'],
  70. [2, 'e', 'f'],
  71. [1, 'g', 'h'],
  72. [2, 'i', 'j'],
  73. [1, 'k', 'l']]
  74.  
  75. In [8]: sections = {letter:(i//2 + 1) for i,letter in enumerate(letters)}
  76.  
  77. In [9]: sections
  78. Out[9]:
  79. {'a': 1,
  80. 'b': 1,
  81. 'c': 2,
  82. 'd': 2,
  83. 'e': 3,
  84. 'f': 3,
  85. 'g': 4,
  86. 'h': 4,
  87. 'i': 5,
  88. 'j': 5,
  89. 'k': 6,
  90. 'l': 6}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement