Как удалить скобки, запятые и кавычки из элементов списка, когда два списка объединены вместе - PullRequest
0 голосов
/ 17 апреля 2020

Я пытался создать простой список слов с 260 комбинациями. Я создал два списка и объединил их, чтобы получить все комбинации

letter = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

c = [(x,y) for x in letter for y in number]
print(c)

Результат -

[('a', 0), ('a', 1), ('a', 2), ('a', 3), ('a', 4), ('a', 5), ('a', 6), ('a', 7), ('a', 8), ('a', 9), ('b', 0), ('b', 1), ('b', 2), ('b', 3), ('b', 4), ('b', 5), ('b', 6), ('b', 7), ('b', 8), ('b', 9), ('c', 0), ('c', 1), ('c', 2), ('c', 3), ('c', 4), ('c', 5), ('c', 6), ('c', 7), ('c', 8), ('c', 9), ('d', 0), ('d', 1), ('d', 2), ('d', 3), ('d', 4), ('d', 5), ('d', 6), ('d', 7), ('d', 8), ('d', 9), ('e', 0), ('e', 1), ('e', 2), ('e', 3), ('e', 4), ('e', 5), ('e', 6), ('e', 7), ('e', 8), ('e', 9), ('f', 0), ('f', 1), ('f', 2), ('f', 3), ('f', 4), ('f', 5), ('f', 6), ('f', 7), ('f', 8), ('f', 9), ('g', 0), ('g', 1), ('g', 2), ('g', 3), ('g', 4), ('g', 5), ('g', 6), ('g', 7), ('g', 8), ('g', 9), ('h', 0), ('h', 1), ('h', 2), ('h', 3), ('h', 4), ('h', 5), ('h', 6), ('h', 7), ('h', 8), ('h', 9), ('i', 0), ('i', 1), ('i', 2), ('i', 3), ('i', 4), ('i', 5), ('i', 6), ('i', 7), ('i', 8), ('i', 9), ('j', 0), ('j', 1), ('j', 2), ('j', 3), ('j', 4), ('j', 5), ('j', 6), ('j', 7), ('j', 8), ('j', 9), ('k', 0), ('k', 1), ('k', 2), ('k', 3), ('k', 4), ('k', 5), ('k', 6), ('k', 7), ('k', 8), ('k', 9), ('l', 0), ('l', 1), ('l', 2), ('l', 3), ('l', 4), ('l', 5), ('l', 6), ('l', 7), ('l', 8), ('l', 9), ('m', 0), ('m', 1), ('m', 2), ('m', 3), ('m', 4), ('m', 5), ('m', 6), ('m', 7), ('m', 8), ('m', 9), ('n', 0), ('n', 1), ('n', 2), ('n', 3), ('n', 4), ('n', 5), ('n', 6), ('n', 7), ('n', 8), ('n', 9), ('o', 0), ('o', 1), ('o', 2), ('o', 3), ('o', 4), ('o', 5), ('o', 6), ('o', 7), ('o', 8), ('o', 9), ('p', 0), ('p', 1), ('p', 2), ('p', 3), ('p', 4), ('p', 5), ('p', 6), ('p', 7), ('p', 8), ('p', 9), ('q', 0), ('q', 1), ('q', 2), ('q', 3), ('q', 4), ('q', 5), ('q', 6), ('q', 7), ('q', 8), ('q', 9), ('r', 0), ('r', 1), ('r', 2), ('r', 3), ('r', 4), ('r', 5), ('r', 6), ('r', 7), ('r', 8), ('r', 9), ('s', 0), ('s', 1), ('s', 2), ('s', 3), ('s', 4), ('s', 5), ('s', 6), ('s', 7), ('s', 8), ('s', 9), ('t', 0), ('t', 1), ('t', 2), ('t', 3), ('t', 4), ('t', 5), ('t', 6), ('t', 7), ('t', 8), ('t', 9), ('u', 0), ('u', 1), ('u', 2), ('u', 3), ('u', 4), ('u', 5), ('u', 6), ('u', 7), ('u', 8), ('u', 9), ('v', 0), ('v', 1), ('v', 2), ('v', 3), ('v', 4), ('v', 5), ('v', 6), ('v', 7), ('v', 8), ('v', 9), ('w', 0), ('w', 1), ('w', 2), ('w', 3), ('w', 4), ('w', 5), ('w', 6), ('w', 7), ('w', 8), ('w', 9), ('x', 0), ('x', 1), ('x', 2), ('x', 3), ('x', 4), ('x', 5), ('x', 6), ('x', 7), ('x', 8), ('x', 9), ('y', 0), ('y', 1), ('y', 2), ('y', 3), ('y', 4), ('y', 5), ('y', 6), ('y', 7), ('y', 8), ('y', 9), ('z', 0), ('z', 1), ('z', 2), ('z', 3), ('z', 4), ('z', 5), ('z', 6), ('z', 7), ('z', 8), ('z', 9)]

Теперь я хочу напечатать эти элементы без пробелов и в разных строках, чтобы они могли использоваться как список слов; например, требуемый результат будет выглядеть так:

a0
a1
a2
a3
a4
.
.
.
.
z9

Ответы [ 3 ]

2 голосов
/ 17 апреля 2020

Профессиональный ответ:

print('\n'.join(x + str(y) for x, y in c))
0 голосов
/ 17 апреля 2020

Самый простой способ сделать это, вероятно, for l oop. «Хитрая» часть преобразует значения, чтобы их можно было объединить (объединить).

Для вас доступно несколько методов:

  • преобразование значений заранее
  • преобразовать значения при их использовании

Из вашего кода:

letter = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
          "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", 
          "u", "v", "w", "x", "y", "z"]
number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Предварительное преобразование

Поскольку каждая из букв уже является строкой вам не нужно преобразовывать их в тип данных str, но вам нужно конвертировать числа (которые имеют тип данных int) в тип данных str.

Когда вы анализируете значения y в списке номеров, вы можете конвертировать их в str.

c = [(x, str(y)) for x in letter for y in number]

for pair in c:
    print(pair[0] + pair[1])

Преобразование при их использовании

И наоборот, если вы Если вы хотите отложить преобразование int в str до последней минуты, вы можете выполнить преобразование, когда вы print:

c = [(x, y) for x in letter for y in number]

for pair in c:
    print(pair[0] + str(pair[1]))

Техника распаковки кортежей:

Если вы бы предпочли, чтобы оператор print был простым и чистым, и использовали бы имена переменных, которые более понятны, это также вариант: распаковка кортежа в целевой переменной for l oop. Это означает, что мы заменим целевую переменную (pair) двумя целевыми переменными (по одной для принятия каждого значения в tuple >>> ltr и num):

c = [(x, str(y)) for x in letter for y in number]

for ltr, num in c:
    print(ltr + num)
0 голосов
/ 17 апреля 2020

Использовать все oop:

c = [(x,y) for x in letter for y in number]
for _c in c:
    print(str(_c[0])+ str(_c[1]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...