检查一个列表中的2个元素是否相同后执行某些操作

时间:2016-12-18 17:05:26

标签: python list loops indexing

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

例如: -

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

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

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

2 个答案:

答案 0 :(得分:1)

您可以使用viewPager.setCurrentItem(2)列表方法:

public boolean onNavigationItemSelected(MenuItem item)
    {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

       if (id == R.id.nav_home)
       {
           viewPager.setCurrentItem(0);
       }
       else if (id == R.id.nav_aboutus)
       {
           viewPager.setCurrentItem(2);
        }
}

答案 1 :(得分:0)

您可以这样做:

//person class with first name and last name
case class Person (var fn: String, val ln: String) {
  val name = fn
  val lastName = ln
}

//two instances. Same last name but cases are different
val a2 = Person("Andy","Cale")
val a3 = Person("Andy","cale")

def isCale(person:Person) {
person match {
//I want that this case should be case insensitive
  case Person(_,"Cale") => println("last-name Cale")
  case _ => println("not Cale")
}
}
isCale(a2) 
lastname Cale

//I want this to also match 
isCale(a3)
not Cale

def isCale(a2:A2) { val s = a2.ln s.toLowerCase match { case "cale" => println("last-name Cale") case _ => println("not Cale") } 持有的最终价值为:

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)