Python 重新创建一个句子并输出句子中的所有单词
开发一个程序,识别句子中的单个单词,将其存储在列表中,并将原始句子中的每个单词替换为该单词在列表中的位置。 例如,句子Python 重新创建一个句子并输出句子中的所有单词,python,string,Python,String,开发一个程序,识别句子中的单个单词,将其存储在列表中,并将原始句子中的每个单词替换为该单词在列表中的位置。 例如,句子 MY NAME IS MY NAME IS MY NAME IS 可以使用序列1,2,3,1,2,3,1,2,3,1,2,3从列表中这些单词的位置重新创建句子 这就是我到目前为止所做的: sentence = input("Please enter a sentence that you would like to recreate") x = sent
MY NAME IS MY NAME IS MY NAME IS
可以使用序列1,2,3,1,2,3,1,2,3,1,2,3从列表中这些单词的位置重新创建句子
这就是我到目前为止所做的:
sentence = input("Please enter a sentence that you would like to recreate")
x = sentence.split()
positions = [0]
for count, i in enumerate(a):
if x.count(i) < 2:
positions.append(max(positions) + 1)
else:
positions.append(x.index(i) +1)
positions.remove(0)
print(positions)
句子=输入(“请输入您想要重新创建的句子”)
x=句子。拆分()
职位=[0]
对于计数,我在列举(a)中:
如果x.count(i)<2:
位置。追加(最大(位置)+1)
其他:
位置。附加(x.索引(i)+1)
位置。删除(0)
印刷(职位)
这会重新创建位置,但我需要做的是输出句子中的所有单词
例如,如果我写了一句话莱斯特城是英超冠军,英超是最好的
,我希望程序输出这句话,其中包含莱斯特,城市,是,冠军,of,the,premier,league,is,best
有人能在最后一点上帮我吗?使用您生成的位置,您可以通过列表理解或简单的for循环获取您想要的列表部分。这里的关键是,当您存储的数字从
1
开始时,python索引从0
开始。然后可以使用字符串的join
功能以逗号打印
sentence = "Leicester city are champions of the premier league the premier league is the best"
x = sentence.split()
positions = [0]
for count, i in enumerate(x):
if x.count(i) < 2:
positions.append(max(positions) + 1)
else:
positions.append(x.index(i) +1)
positions.remove(0)
reconstructed = [x[i - 1] for i in positions]
print(", ".join(reconstructed))
使用生成的位置,您可以通过列表理解或简单的for循环获取所需的列表部分。这里的关键是,当您存储的数字从
1
开始时,python索引从0
开始。然后可以使用字符串的join
功能以逗号打印
sentence = "Leicester city are champions of the premier league the premier league is the best"
x = sentence.split()
positions = [0]
for count, i in enumerate(x):
if x.count(i) < 2:
positions.append(max(positions) + 1)
else:
positions.append(x.index(i) +1)
positions.remove(0)
reconstructed = [x[i - 1] for i in positions]
print(", ".join(reconstructed))
这个问题有问题陈述、代码、期望输出和问题本身。好帖子,@Musa,这(几乎)是我们对新用户的期望,干杯
print(“,”.join(x))
将使用逗号和每个单词之间的空格打印列表x
的内容-这就是您想要的吗?您的示例不起作用。什么是a
?对不起,a本来是X这个问题有问题陈述、代码、期望输出和问题本身。好帖子,@Musa,这(几乎)是我们对新用户的期望,干杯print(“,”.join(x))
将使用逗号和每个单词之间的空格打印列表x
的内容-这就是您想要的吗?您的示例不起作用。什么是a
?对不起,a本来就是x,我想要的是当你输出句子中的所有单词时,我不想让它说同一个单词rwice。例如,如果这个句子是“我的名字是穆萨你好,我的名字是穆萨。我不知道这与您的原始算法或提出的问题有什么关系,但如果您只想使用唯一的单词,请使用集合
原语。集合不保持顺序,所以你可能想用这样的东西,我想要的是,当你输出句子中的所有单词时,我不想让它说同一个单词rwice“我的名字是穆萨你好,我的名字是穆萨。我不知道这与您的原始算法或提出的问题有什么关系,但如果您只想使用唯一的单词,请使用集合
原语。集合不维护顺序,因此您可能希望使用类似这样的内容