Python 当两个列表组合在一起时,如何从列表项中删除括号、逗号和引号

Python 当两个列表组合在一起时,如何从列表项中删除括号、逗号和引号,python,list,combinations,custom-lists,Python,List,Combinations,Custom Lists,我一直在尝试创建一个包含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 i

我一直在尝试创建一个包含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
使用循环:

c = [(x,y) for x in letter for y in number]
for _c in c:
    print(str(_c[0])+ str(_c[1]))
使用循环:

c = [(x,y) for x in letter for y in number]
for _c in c:
    print(str(_c[0])+ str(_c[1]))
赞成者答复:

print('\n'.join(x + str(y) for x, y in c))
赞成者答复:

print('\n'.join(x + str(y) for x, y in c))

最简单的方法可能是使用
for
循环。“棘手”的部分是转换值,以便将它们连接在一起(串联)

您可以使用以下几种技术:

  • 预先转换值
  • 使用这些值时转换它们
从您的代码:

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
直到最后一分钟,您可以在
打印时进行转换:

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

for pair in c:
    print(pair[0] + str(pair[1]))
元组解包技术: 如果您希望保持
print
语句简单明了,并使用更有意义的变量名,那么这也是一个选项:在
中为
循环目标变量解包tuple。这意味着我们将目标变量(
pair
)替换为两个目标变量(一个接受
元组中的每个值
>
num
):


最简单的方法可能是使用
for
循环。“棘手”的部分是转换值,以便将它们连接在一起(串联)

您可以使用以下几种技术:

  • 预先转换值
  • 使用这些值时转换它们
从您的代码:

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
直到最后一分钟,您可以在
打印时进行转换:

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

for pair in c:
    print(pair[0] + str(pair[1]))
元组解包技术: 如果您希望保持
print
语句简单明了,并使用更有意义的变量名,那么这也是一个选项:在
中为
循环目标变量解包tuple。这意味着我们将目标变量(
pair
)替换为两个目标变量(一个接受
元组中的每个值
>
num
):


列表理解的替代方案:
[print(str(_c[0])+str(_c[1])对于c中的c]
@datapug No,print有副作用。永远不要这样做。更好:
对于c中的x,y:
。列表理解的替代方法:
[print(str(_c[0])+str(_c[1])对于c中的_c]
@datapug不,print有副作用。永远不要这样做。更好的是:
对于x,y在c: