【问题标题】:how to assign index value of an array to the others array same index value in python如何在python中将数组的索引值分配给其他数组相同的索引值
【发布时间】:2017-09-25 18:22:22
【问题描述】:

我有两个列表,分别命名为 A 和 B:

A = ["boy","girl","place","food"]
B = ["he","she","USA,UK","Pizza,Burger,Sushi"]

当用户输入“boy”时,我希望输出为“he”。简而言之,我希望将列表 A 中元素的索引值赋予列表 B 中相同索引的值。

A[0] == B[0]
A[1] == B[1]
A[2] == B[2]
A[3] == B[3]

这正是我想要的。如果我输入 A[i] 中给出的数据,输出应该是 B[i] 中给出的。谢谢。

【问题讨论】:

  • 您想将 B 中的元素输出到屏幕上,还是用 A 中的相应元素(相同的索引号)覆盖 B 中的那个元素?
  • 你搜索过什么吗? .index()?
  • 你可能只想要一个dict

标签: python python-3.x list indexing


【解决方案1】:

您可以使用.index(input_string)检索用户输入的索引,然后调用B:

A = ["boy","girl","place","food"]
B = ["he","she","USA,UK","Pizza,Burger,Sushi"]

i = A.index('boy')
print B[i]  # he

我认为您需要考虑将这些列表中的 dict 结合起来。

my_dict = dict(zip(A, B))

user_input = raw_in-put('enter a word\n')
if user_input in my_dict:
    print my_dict[user_input]

【讨论】:

    【解决方案2】:

    首先,您必须检查您的输入是否确实在 A 中。如果是,则使用 index 方法在 A 中找到项目的索引,并使用它访问 B。

    A = ["boy","girl","place","food"]
    B = ["he","she","USA,UK","Pizza,Burger,Sushi"]
    input_string = 'place'
    
    if input_string in A:
        output_string = B[A.index(input_string)]
        print(output_string)  # outputs 'USA,UK'
    

    【讨论】:

      【解决方案3】:

      我可以使用额外的字典,您可以将 A 的值作为 B 值的键。

      查看下面的示例以获得更多参考

      A = ["boy","girl","place","food"]
      B = ["he","she","USA,UK","Pizza,Burger,Sushi"]
      
      dic = zip(A, B)
      
      print(dic["boy"])  
      

      希望这会有所帮助!

      【讨论】:

      • 不要使用while循环,只使用mydict = dict(zip(B,A)),也不要用你的变量名隐藏内置的dict类型。
      【解决方案4】:

      理想情况下,您可以将数据构建为列表列表,因为就像现在一样,如果不提前知道需要哪些组,就很难格式化字典:

      A = ["boy","girl","place","food"]
      B = ["he","she",["USA,UK"],["Pizza,Burger,Sushi"]]
      new_data = {a:b for a, b in zip(A, B)}
      print(new_data["boy"])
      

      输出:

      "he"
      

      【讨论】:

        【解决方案5】:

        你肯定想要一个字典。

        a_to_b = dict(zip(a,b))
        print a_to_b['he'] == 'boy'
        
        for key in a:
            print key, a_to_b[key]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-04-06
          • 2021-02-07
          • 2019-01-04
          • 1970-01-01
          • 2013-08-18
          • 2011-08-07
          • 1970-01-01
          相关资源
          最近更新 更多