Как получить комбинации ['AB','BA,....и т. д.]?

Мне нужен результат из варианта 2, но возможно можно как то получить этот результат из combinations без такого усложнения как в варианте 2?

Вариант 1

def listPosition(word):
    from itertools import combinations
    import string
    Base_word = string.ascii_uppercase
    Base_word_1 = list(combinations(Base_word,2))
    return Base_word_1

print(listPosition('r'))

[('A', 'B'), ('A', 'C'), ('A', 'D')....]

Вариант 2

Base_word_1 = [''.join(x) for x in combinations(Base_word,2)]

['AB', 'AC', 'AD', 'AE', 'AF', 'AG'....


Ответы (1 шт):

Автор решения: n1tr0xs

Ну если усложнение - list comprehension:

from itertools import combinations
import string

def listPosition(word): 
    Base_word = string.ascii_uppercase
    Base_word_1 = []
    for w in combinations(Base_word, 2):
        word = ''.join(w)
        Base_word_1.append(word)
    return Base_word_1

print(listPosition('r'))

Если еще и join пугает:

from itertools import combinations
import string

def listPosition(word): 
    Base_word = string.ascii_uppercase
    Base_word_1 = []
    for w in combinations(Base_word, 2):
        word = ''
        for letter in w:
            word += letter
        Base_word_1.append(word)
    return Base_word_1

print(listPosition('r'))
→ Ссылка