【问题标题】:Do something after checking if 2 elements in one list are the same检查一个列表中的两个元素是否相同后做某事
【发布时间】:2017-05-03 19:22:45
【问题描述】:

我想知道,如何检查一个列表中的两个元素是否相同。该列表将成为用户输入。我们遍历列表以打印出每个输入单词的索引位置。如果我们在同一个输入中再次遇到同一个单词,当我们打印出第一个用户输入的句子作为实际单词的索引(没有标点符号)时,我希望我的程序显示同一个单词的第一个索引。

例如:-

USERINPUT - 我喜欢编码,因为我喜欢它并且我非常喜欢它

有 14 个单词。只有 9 个不同。所以我的程序的最终输出应该打印它们的索引位置 - (+1) - 因为 python 从 0 开始索引。程序的最终结果应该是:-

1 2 3 4 5 1 2 6 7 1 2 6 8 9

【问题讨论】:

  • SO 不仅适合您。它适合所有人。你不能像这样改变内容。如果您不想将问题放在 SO 上,请随时将其删除。但如果它在那里,它应该具有适当的内容。否则,下次我将不得不标记问题
  • @StreetSoldier 请注意,您在 SE 网络上发布的所有内容都是 perpetually and irrevocably licensed to Stack Exchange。如果你愿意,你可以send a disassociation request
  • @MoinuddinQuadri 为了让大家开心,我只删除了问题的一部分,它根本没有帮助它,但涉及我创建的一些代码,用于一些版权问题。我希望这对每个人都有帮助,现在应该解决问题,因为完整的原始问题在这里,根本没有编辑

标签: python list loops indexing


【解决方案1】:

您可以使用index() 列表方法:

firstsentence = input('Enter a sentence: ')
firstsentence = firstsentence.lower()
words = firstsentence.split(' ')

s = ""

for word in words:
    s += str(words.index(word)+1) + " "

print(s)

【讨论】:

  • 啊,但我的索引是从 1 开始的!
  • 是的,只要把最后一行改成my_indexes = ' '.join(str(unique_list.index(word)+1) for word in my_word_list)
  • 没问题-确定
  • @StreetSoldier:SO 适合所有人,我们在这里为所有人提供帮助。休息取决于你:)
【解决方案2】:

你可以这样做:

my_string = "I like to code because i like it and i like it a lot"

# Convert string to lower-case alphabets
my_string = my_string.lower()

# list of words in sentence
my_word_list = my_string.split()

# List to maintain unique words with index
unique_list = []
for word in my_word_list:
    if word not in unique_list:
        unique_list.append(word)

#                Find index of word in list + 1  v
my_indexes = ' '.join(str(unique_list.index(word)+1) for word in my_word_list)

my_indexes 持有的最终价值将是:

'1 2 3 4 5 1 2 6 7 1 2 6 8 9'

【讨论】:

  • @StreetSoldier:在list comprehension表达式中,即代码的最后一行,你需要做:unique_list.index(word)+1。顺便说一句,我更新了我的答案。检查编辑
  • 最后一行 my_indexes = ' '.join(str(unique_list.index(word)+1) for word in my_word_list) 用于正确索引
  • #SOReadyToHelp ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多