问题描述
我是python的新手,我被困在一个练习中,告诉我提供一个脚本,该脚本打印每个可能的两个字母对,每个字母都是小写,一行一行,按字母顺序排列,这是我最接近的东西可以做到
import string
x=string.ascii_lowercase
y=list(x)
for i in y:
print(i,end='')
for g in y:
print(g)
解决方法
每对中的第一个字母只打印一次。
from string import ascii_lowercase as lowercase_letters
for first_letter in lowercase_letters:
for second_letter in lowercase_letters:
print(first_letter + second_letter)
另外:
- 您不需要将字符串转换为列表,可以循环遍历字符串。实际上,
list(some_string)
就是这样工作的! - 我使用了更具可读性的变量名。
- 使用
from ... import
意味着您不需要进行其他分配。
尝试此代码,它将按字母顺序打印
您已经研究了ASCII码,所以它的作用是在包含所有字母的97至122之间循环,然后将它们连接起来。
for firstchar in range(97,123):
for secondchar in range(97,123):
print(chr(firstchar) + chr(secondchar))
,
您需要在第二个for循环中打印i字母
import string
x=string.ascii_lowercase
y=list(x)
for i in y:
for g in y:
print(i,g)
因此,程序将遍历第一个循环中的每个字母,然后依次打印整个字母,作为第二个循环中的第二个字母
,l = [['Drama'],['Drama','Horror','Thriller'],['Drama'],['Children','Drama'],['Comedy','Drama','Thriller']]
# map() to join each member with `_`
#if you want it in form [[],[],[]]
test = list(map(lambda x: ['_'.join(x)],l))
#or if in list ['','','']
#test = list(map(lambda x: '_'.join(x),l))
print(test)
如果给出单词列表。那么这是一种可能的方法
,如果使用字符串模块,这是非常简单的任务:
import string
for firstchar in string.ascii_lowercase:
for secondchar in string.ascii_lowercase:
print(firstchar + secondchar)