Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,如何将两个变量的内容转换为一个可调用的变量名?_Python_Variables - Fatal编程技术网

在python中,如何将两个变量的内容转换为一个可调用的变量名?

在python中,如何将两个变量的内容转换为一个可调用的变量名?,python,variables,Python,Variables,我试图获取一个变量,从列表中获取一个字符串(这是一个变量名),然后我想调用该变量 有一个列表,其中存储了许多变量名和一些其他变量 fruits = ["apple","orange","banana","blueberry"] apple = ["A red fruit","sort of ball"] orange = ["An orange fruit","a ball"] banana = ["A yellow fruit","a fruit"]

我试图获取一个变量,从列表中获取一个字符串(这是一个变量名),然后我想调用该变量

有一个列表,其中存储了许多变量名和一些其他变量

    fruits = ["apple","orange","banana","blueberry"]

    apple = ["A red fruit","sort of ball"]
    orange = ["An orange fruit","a ball"]
    banana = ["A yellow fruit","a fruit"]
    blueberry = ["A blue fruit","a berry"]
    number = 3
我想从我的“编号”列表中获取水果:

    print(fruits[number])
这将输出:
banana

输出是预先存在的列表变量的名称,那么如何调用该列表中的项呢

我试着这样做:

    print((fruits[number])[2])
我想可能是这样的:

    print(banana[2])
fruits = {
    "apple": ["A red fruit","sort of ball"],
    "orange" : ["An orange fruit","a ball"],
    "banana": ["A yellow fruit","a fruit"],
    "blueberry": ["A blue fruit","a berry"]
}
fruits = {'banana': ['A yellow fruit', 'a fruit'],
          'orange': ['An orange fruit', 'a ball'],
          ...
          ...}
和输出:
a水果


提前感谢您的帮助。

这是不可能的。最接近的方法是使用字典,字典基本上是从键到值的映射。在您的情况下,字典如下所示:

    print(banana[2])
fruits = {
    "apple": ["A red fruit","sort of ball"],
    "orange" : ["An orange fruit","a ball"],
    "banana": ["A yellow fruit","a fruit"],
    "blueberry": ["A blue fruit","a berry"]
}
fruits = {'banana': ['A yellow fruit', 'a fruit'],
          'orange': ['An orange fruit', 'a ball'],
          ...
          ...}

现在你可以做一些类似于打印(水果['banana'][1])的事情,它将打印水果,因为水果是一本字典,
'banana'
是这本字典中的一个键,
水果[香蕉]
等于
[“一个黄色的水果”,“一个水果”
。当您访问
水果['banana']
的索引
1
上的元素时,它返回该列表的第二个元素,因为在Python中列表是0索引的,这是一个字符串
水果
,这是不可能的。最接近的方法是使用字典,字典基本上是从键到值的映射。在您的情况下,字典如下所示:

    print(banana[2])
fruits = {
    "apple": ["A red fruit","sort of ball"],
    "orange" : ["An orange fruit","a ball"],
    "banana": ["A yellow fruit","a fruit"],
    "blueberry": ["A blue fruit","a berry"]
}
fruits = {'banana': ['A yellow fruit', 'a fruit'],
          'orange': ['An orange fruit', 'a ball'],
          ...
          ...}

现在你可以做一些类似于打印(水果['banana'][1])的事情,它将打印水果,因为水果是一本字典,
'banana'
是这本字典中的一个键,
水果[香蕉]
等于
[“一个黄色的水果”,“一个水果”
。当您访问
水果['banana']
的索引
1
上的元素时,它返回该列表的第二个元素,因为在Python中列表是0索引的,这是一个字符串
水果

,在Python中,您想要的被称为an,这些被称为

如果您想将字典的键作为字符串,可以使用

for key, value in fruitsDict.items():
      print(key,value[1])
输出:

苹果球
橙色球
香蕉是一种水果
蓝莓


单击教程中的一个工作示例点

您想要的称为,在python中称为

如果您想将字典的键作为字符串,可以使用

for key, value in fruitsDict.items():
      print(key,value[1])
输出:

苹果球
橙色球
香蕉是一种水果
蓝莓


单击教程中的工作示例点

使用所需的变量不是一个好主意。 在这种情况下,处理您想要做的事情的最佳方法是使用“dict”。这是本机的“key:value”python数据结构

您可以这样定义水果及其描述:

    print(banana[2])
fruits = {
    "apple": ["A red fruit","sort of ball"],
    "orange" : ["An orange fruit","a ball"],
    "banana": ["A yellow fruit","a fruit"],
    "blueberry": ["A blue fruit","a berry"]
}
fruits = {'banana': ['A yellow fruit', 'a fruit'],
          'orange': ['An orange fruit', 'a ball'],
          ...
          ...}
然后,如果要打印某些水果的描述,应使用其密钥:

fruit_to_print = 'banana'
print fruits[fruit_to_print]
运行时,将输出:

[‘黄色的水果’、‘水果’]

例如,如果要获取描述的第一项:

print fruits[fruit_to_print][0]
这将输出:

黄色的水果

字典不是一种有序结构,因此不应使用索引调用其值,但如果确实确定要执行的操作,则可以执行以下操作:

fruits = {'banana': ['A yellow fruit', 'a fruit'],
      'orange': ['An orange fruit', 'a ball']}
number = 1
desc_index = 0
# fruits.keys() returns an array of the key names.
description = fruits[fruits.keys()[number]][desc_index] 

print description

>>> A yellow fruit
请记住,添加或删除一个元素可能会更改其他每个元素的索引

另一种方法是创建一个类Fruit并拥有一个Fruit数组:

桔子


使用您想要的变量不是一个好主意。 在这种情况下,处理您想要做的事情的最佳方法是使用“dict”。这是本机的“key:value”python数据结构

您可以这样定义水果及其描述:

    print(banana[2])
fruits = {
    "apple": ["A red fruit","sort of ball"],
    "orange" : ["An orange fruit","a ball"],
    "banana": ["A yellow fruit","a fruit"],
    "blueberry": ["A blue fruit","a berry"]
}
fruits = {'banana': ['A yellow fruit', 'a fruit'],
          'orange': ['An orange fruit', 'a ball'],
          ...
          ...}
然后,如果要打印某些水果的描述,应使用其密钥:

fruit_to_print = 'banana'
print fruits[fruit_to_print]
运行时,将输出:

[‘黄色的水果’、‘水果’]

例如,如果要获取描述的第一项:

print fruits[fruit_to_print][0]
这将输出:

黄色的水果

字典不是一种有序结构,因此不应使用索引调用其值,但如果确实确定要执行的操作,则可以执行以下操作:

fruits = {'banana': ['A yellow fruit', 'a fruit'],
      'orange': ['An orange fruit', 'a ball']}
number = 1
desc_index = 0
# fruits.keys() returns an array of the key names.
description = fruits[fruits.keys()[number]][desc_index] 

print description

>>> A yellow fruit
请记住,添加或删除一个元素可能会更改其他每个元素的索引

另一种方法是创建一个类Fruit并拥有一个Fruit数组:

桔子


阅读Python字典。你真的需要
fruits
的元素成为字符串吗?您知道您可以简单地存储对实际变量的引用吗<代码>水果=[苹果、橘子、香蕉、蓝莓];打印(水果[编号])@Jamie显然有不同的方法可以解决您的问题。最好的取决于你到底想要得到什么。也许,正如人们所建议的那样,您只需要使用字典并将名称(或键)映射到值(即,在您的例子中,一个描述键的句子)。“我试图获取一个变量以从列表中获取一个字符串(这是一个变量名),然后我想调用该变量。”不要这样做。使用字典或任何其他类型的容器。您不想使用动态变量。如果您愿意,可以使用
eval
,但不要这样做。这是一个非常糟糕的设计,几乎肯定会导致头痛。非常感谢大家的帮助,我将阅读字典阅读Python字典。您真的需要
fruits
的元素作为字符串吗?您知道您可以简单地存储对实际变量的引用吗<代码>水果=[苹果、橘子、香蕉、蓝莓];打印(水果[编号])@Jamie显然有不同的方法可以解决您的问题。最好的取决于你到底想要得到什么。也许,正如人们所建议的,你只是想使用