问题

You are an expert Python programmer, and here is your task: Write a function to find the similar elements from the given two tuple lists. Your code should pass these tests:

assert similar_elements((3, 4, 5, 6),(5, 7, 4, 10)) == (4, 5)
assert similar_elements((1, 2, 3, 4),(5, 4, 3, 7)) == (3, 4)
assert similar_elements((11, 12, 14, 13),(17, 15, 14, 13)) == (13, 14)

[BEGIN]
'def similar_elements(test_tup1, test_tup2):
res = tuple(set(test_tup1) & set(test_tup2))
return (res)'
[DONE]


You are an expert Python programmer, and here is your task: Write a python function to identify non-prime numbers. Your code should pass these tests:

assert is_not_prime(2) == False
assert is_not_prime(10) == True
assert is_not_prime(35) == True

[BEGIN]
'import math
def is_not_prime(n):
result = False
for i in range(2,int(math.sqrt(n)) + 1):
if n % i == 0:
result = True
return result'
[DONE]


You are an expert Python programmer, and here is your task: Write a function to find the largest integers from a given list of numbers using heap queue algorithm. Your code should pass these tests:

assert heap_queue_largest( [25, 35, 22, 85, 14, 65, 75, 22, 58],3)==[85, 75, 65]
assert heap_queue_largest( [25, 35, 22, 85, 14, 65, 75, 22, 58],2)==[85, 75]
assert heap_queue_largest( [25, 35, 22, 85, 14, 65, 75, 22, 58],5)==[85, 75, 65, 58, 35]

[BEGIN]
'import heapq as hq
def heap_queue_largest(nums,n):
largest_nums = hq.nlargest(n, nums)
return largest_nums'
[DONE]


You are an expert Python programmer, and here is your task: Write a function to split a list for every nth element. Your code should pass these tests:

assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]

[BEGIN]

答案

模型 模型答案 测试结果
金声玉亮2.0 ```python
def list_split(lst, n):
return [lst[i::n] for i in range(n)]
```
[DONE]
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
deepseekr1

To solve this problem, we need to split a given list into sublists such that each sublist contains elements from the original list at intervals of a specified number (n). The elements are distributed into the sublists based on their positions in the original list.

### Approach
The approach to solve this problem involves the following steps:
1. **Initialize Sub-Lists**: Create `n` empty sublists where each sublist will collect elements from the original list based on their indices.
2. **Distribute Elements**: Iterate through each element of the original list along with their indices. For each element, determine its target sublist using the modulo operation on its index with `n`. Append the element to the corresponding sublist.
3. **Return Result**: After processing all elements, return the list of sublists.

This method ensures that elements are distributed into sublists such that the first sublist contains elements at indices 0, n, 2n, etc., the second sublist contains elements at indices 1, n+1, 2n+1, etc., and so on.

### Solution Code
```python
def list_split(lst, n):
result = [[] for _ in range(n)]
for index, element in enumerate(lst):
result[index % n].append(element)
return result
```

### Explanation
1. **Initialization**: We start by creating `n` empty sublists using a list comprehension. This prepares the structure to hold the elements based on their positions.
2. **Iteration and Distribution**: Using `enumerate`, we loop through each element of the input list along with its index. The modulo operation (`index % n`) determines which sublist the element belongs to. For example, if `n` is 3, elements at indices 0, 3, 6, etc., will go into the first sublist, elements at indices 1, 4, 7, etc., into the second sublist, and elements at indices 2, 5, 8, etc., into the third sublist.
3. **Result Compilation**: After processing all elements, the list of sublists is returned, each containing elements from the original list at intervals of `n`.

This approach efficiently distributes elements into the appropriate sublists in a single pass through the original list, resulting in an optimal time complexity of O(m), where m is the length of the input list.
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
gpto1 [BEGIN]
'def list_split(lst, n):
return [lst[i::n] for i in range(n)]'
[DONE]
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
GPT-4o Here's the function to split a list for every nth element:

```python
def list_split(lst, n):
split_lists = [[] for _ in range(n)]
for i, elem in enumerate(lst):
split_lists[i % n].append(elem)
return split_lists

# Test cases
assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'], 3) == [['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 3) == [[1, 4, 7, 10, 13], [2, 5, 8, 11, 14], [3, 6, 9, 12]]
assert list_split(['python', 'java', 'C', 'C++', 'DBMS', 'SQL'], 2) == [['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
```

This function initializes a list of `n` empty lists, then iterates over the input list `lst`, appending each element to the appropriate sublist based on its index modulo `n`. This way, elements are distributed evenly across the sublists. The test cases given are also included to verify the correctness of the function.
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
llama3.1-70B-Instruct

def list_split(lst, n):
return [lst[i::n] for i in range(n)]
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
llama3.1-405B-Instruct

def list_split(input_list, n):
return [input_list[i::n] for i in range(n)]
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
DeepSeek-Coder-V2 ```python
def list_split(lst, n):
return [lst[i::n] for i in range(n)]
```
[DONE]
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
Qwen2-72B-Instruct 'def list_split(lst, n):
return [lst[i::n] for i in range(n)]'
[DONE]
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
baichuan4 Here's the function to split a list for every nth element:

```python
def list_split(lst, n):
return [lst[i::n] for i in range(n)]
```

This function works by using list slicing with a step size of `n`. The `range(n)` generates a sequence from 0 to n-1, which is then used as the starting index for each slice. This way, we can split the list into `n` sublists, each containing every nth element.

Let's test it with the provided test cases:

```python
assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'], 3) == [['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 3) == [[1, 4, 7, 10, 13], [2, 5, 8, 11, 14], [3, 6, 9, 12]]
assert list_split(['python', 'java', 'C', 'C++', 'DBMS', 'SQL'], 2) == [['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
```

The function passes all the tests, so it seems to be working correctly.
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
doubao def list_split(lst, n):
result = [[] for _ in range(n)]
for i, item in enumerate(lst):
result[i % n].append(item)
return result
[DONE]
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
minimax ```python
def list_split(lst, n):
return [lst[i::n] for i in range(n)]

# Test cases
assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'], 3) == [['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 3) == [[1, 4, 7, 10, 13], [2, 5, 8, 11, 14], [3, 6, 9, 12]]
assert list_split(['python', 'java', 'C', 'C++', 'DBMS', 'SQL'], 2) == [['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
```

The `list_split` function takes a list `lst` and an integer `n` and returns a list of lists, where each sublist contains every nth element from the original list, starting with the first element, second element, and so on. The test cases check that the function correctly splits the list as specified.
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
kimi ```python
def similar_elements(test_tup1, test_tup2):
# Using set intersection to find common elements
res = tuple(sorted(set(test_tup1) & set(test_tup2)))
return res

# Test cases for similar_elements function
assert similar_elements((3, 4, 5, 6),(5, 7, 4, 10)) == (4, 5)
assert similar_elements((1, 2, 3, 4),(5, 4, 3, 7)) == (3, 4)
assert similar_elements((11, 12, 14, 13),(17, 15, 14, 13)) == (13, 14)

import math

def is_not_prime(n):
# 0 and 1 are not prime numbers
if n < 2:
return True
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return True
return False

# Test cases for is_not_prime function
assert is_not_prime(2) == False
assert is_not_prime(10) == True
assert is_not_prime(35) == True

import heapq as hq

def heap_queue_largest(nums, n):
# Using nlargest from heapq to find the n largest numbers
largest_nums = hq.nlargest(n, nums)
return largest_nums

# Test cases for heap_queue_largest function
assert heap_queue_largest([25, 35, 22, 85, 14, 65, 75, 22, 58], 3) == [85, 75, 65]
assert heap_queue_largest([25, 35, 22, 85, 14, 65, 75, 22, 58], 2) == [85, 75]
assert heap_queue_largest([25, 35, 22, 85, 14, 65, 75, 22, 58], 5) == [85, 75, 65, 58, 35]

def list_split(lst, n):
# Splitting the list into sublists of every nth element
return [lst[i::n] for i in range(n)]

# Test cases for list_split function
assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'], 3) == [['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 3) == [[1, 4, 7, 10, 13], [2, 5, 8, 11, 14], [3, 6, 9, 12]]
assert list_split(['python', 'java', 'C', 'C++', 'DBMS', 'SQL'], 2) == [['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
```

This code defines the functions `similar_elements`, `is_not_prime`, `heap_queue_largest`, and `list_split`, along with their respective test cases. Each function is designed to pass the provided assertions.
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
wenxinyiyan 'def list_split(lst, n):
return [lst[i::n] for i in range(n)]'
[DONE]

Explanation:
The `list_split` function takes a list `lst` and an integer `n` as input. It returns a new list of lists, where each sublist contains every `n`th element from the original list, starting from a different index.

The function uses a list comprehension to iterate over the range of `n` (from 0 to `n-1`). For each index `i`, it creates a new sublist by slicing the original list `lst` with the step size of `n`, starting from index `i`. The slicing syntax `lst[i::n]` means "start from index `i` and take every `n`th element until the end of the list".

By varying the starting index `i` from 0 to `n-1`, we ensure that each element from the original list appears in one of the sublists, and each sublist contains every `n`th element from the original list.

This approach is efficient and elegant, as it uses the built-in slicing functionality of Python lists to avoid explicit looping and manual indexing.
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
zhipu To achieve the desired functionality, we can write a function `list_split` that takes a list and an integer `n`, and returns a new list of lists where each sublist contains every nth element from the original list. Here's the implementation:

```python
def list_split(lst, n):
# Initialize n empty sublists
result = [[] for _ in range(n)]

# Iterate over the list and append elements to the corresponding sublist
for index, item in enumerate(lst):
result[index % n].append(item)

return result

# Test cases
assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'], 3) == [['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 3) == [[1, 4, 7, 10, 13], [2, 5, 8, 11, 14], [3, 6, 9, 12]]
assert list_split(['python', 'java', 'C', 'C++', 'DBMS', 'SQL'], 2) == [['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]

print("All tests passed!")
```

### Explanation:
1. **Initialization**: We create a list of `n` empty sublists using a list comprehension.
2. **Iteration**: We iterate over the original list using `enumerate` to get both the index and the item.
3. **Modulo Operation**: We use the modulo operation (`index % n`) to determine which sublist the current item should be appended to.
4. **Appending**: We append the item to the appropriate sublist based on the result of the modulo operation.

This approach ensures that the elements are distributed evenly across the sublists based on their indices.

### Running the Tests:
The provided test cases are used to verify that the function behaves as expected. If any of the assertions fail, an `AssertionError` will be raised. If all tests pass, the message "All tests passed!" will be printed.

You can run this code in your Python environment to confirm that it works correctly.
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
gpto1 [BEGIN]
'def list_split(lst, n):
return [lst[i::n] for i in range(n)]'
[DONE]
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]
deepseekv3 To split a list for every nth element, we can create a function that takes the list and the value of `n` as inputs and then divides the list into `n` sublists. The elements are distributed among the sublists in a round-robin fashion. Here's the implementation:

```python
def list_split(lst, n):
# Initialize a list of n empty lists
result = [[] for _ in range(n)]

# Distribute the elements of the original list into the n sublists
for index, item in enumerate(lst):
result[index % n].append(item)

return result

# Test cases
assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'], 3) == [['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14], 3) == [[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'], 2) == [['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]

print("All test cases passed!")
```

### Explanation:
1. **Initialization**: We start by creating a list of `n` empty lists. This will store the sublists.
2. **Distribution**: We iterate over the original list and distribute its elements into the sublists. The modulo operation (`index % n`) ensures that elements are distributed in a round-robin fashion.
3. **Return**: Finally, we return the list of sublists.

This approach ensures that the elements are evenly distributed among the sublists, and the function works efficiently for the given test cases.
pass
测试用例:assert list_split(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'],3)==[['a', 'd', 'g', 'j', 'm'], ['b', 'e', 'h', 'k', 'n'], ['c', 'f', 'i', 'l']]
assert list_split([1,2,3,4,5,6,7,8,9,10,11,12,13,14],3)==[[1,4,7,10,13], [2,5,8,11,14], [3,6,9,12]]
assert list_split(['python','java','C','C++','DBMS','SQL'],2)==[['python', 'C', 'DBMS'], ['java', 'C++', 'SQL']]