Python 如何打印变量表示而不是变量?

Python 如何打印变量表示而不是变量?,python,python-2.7,Python,Python 2.7,有没有办法打印出一个变量来代替变量? 让我举例说明一下这个想法: E=[4,19,0,17,8] G=[4,13,8,18,17] F=[4,18,0,8,19] D=[4,13,0,19,8] lag = [E, G, F, D] lcode = [4,19,0,17,8] for i in lag: if i == lcode: print "This is", i 我想打印出来:“这是E”。。。而不是:“这是[4,19,0,17,8]”使用字典的想法。您可以执行

有没有办法打印出一个变量来代替变量? 让我举例说明一下这个想法:

E=[4,19,0,17,8]
G=[4,13,8,18,17]
F=[4,18,0,8,19]
D=[4,13,0,19,8]
lag = [E, G, F, D]
lcode = [4,19,0,17,8]

for i in lag:
    if i == lcode:
        print "This is", i

我想打印出来:“这是E”。。。而不是:“这是[4,19,0,17,8]”

使用字典的想法。您可以执行以下操作:

mydict = {"E":[4,19,0,17,8],"G":[4,13,8,18,17],"F":[4,18,0,8,19],"D":[4,13,0,19,8]}

for key,value in mydict.iteritems():
    if value == lcode:
        print "This is %s" %(i)
iteritems()将字典元素分解为键值对,例如key:value::“e”:[4,19,0,17,8]

如果要搜索哪些列表包含给定的
元素

for key,value in mydict:
    if element in value:
        print "Element in %s " %(key)
因此,如果元素为4,程序将打印:

Element in E
Element in G
Element in F
Element in D

使用字典的概念。您可以执行以下操作:

mydict = {"E":[4,19,0,17,8],"G":[4,13,8,18,17],"F":[4,18,0,8,19],"D":[4,13,0,19,8]}

for key,value in mydict.iteritems():
    if value == lcode:
        print "This is %s" %(i)
iteritems()将字典元素分解为键值对,例如key:value::“e”:[4,19,0,17,8]

如果要搜索哪些列表包含给定的
元素

for key,value in mydict:
    if element in value:
        print "Element in %s " %(key)
因此,如果元素为4,程序将打印:

Element in E
Element in G
Element in F
Element in D

这就是使用
dict

items = {"E": [1, 2, 3, 4, 5], "G": [1, 12, 13, 15] }
search = 4
for key, values in items.iteritems():
    if search in values:
        print key

输出:E

这是如何使用
dict

items = {"E": [1, 2, 3, 4, 5], "G": [1, 12, 13, 15] }
search = 4
for key, values in items.iteritems():
    if search in values:
        print key

输出:E

无需创建Dict,您可以尝试以下操作

import sys

    E=[4,19,0,17,8]
    G=[4,13,8,18,17]
    F=[4,18,0,8,19]
    D=[4,13,0,19,8]

    lcode = [4,19,0,17,8]

    modname = globals()['__name__']
    modobj  = sys.modules[modname]

    lag = ["E","G","F","D"]

    for name in lag:
        if lcode ==  getattr(modobj, name):
            print name

输出:E

无需创建Dict,您可以尝试以下操作

import sys

    E=[4,19,0,17,8]
    G=[4,13,8,18,17]
    F=[4,18,0,8,19]
    D=[4,13,0,19,8]

    lcode = [4,19,0,17,8]

    modname = globals()['__name__']
    modobj  = sys.modules[modname]

    lag = ["E","G","F","D"]

    for name in lag:
        if lcode ==  getattr(modobj, name):
            print name

输出:E

使用
dict
存储数字列表,而不是不同的变量。通常,对象不知道您将它们绑定到了什么名称。在任何情况下,如果
lag
[[4,8,15],G,F,D]
?它会为第一个未命名的列表打印什么?我今天一直在发布这个链接。。。我怀疑滞后值是否是字符串对的?['E'…所以使用
dict
来存储数字列表,而不是不同的变量。通常,对象不知道您将它们绑定到了什么名称。在任何情况下,如果
lag
[[4,8,15],G,F,D]
?它会为第一个未命名列表打印什么?我今天一直在发布此链接…我怀疑滞后值是否为字符串正确?['E'…所以我认为这将失败,类似“未知对象/符号E”或类似错误。是的,我刚刚意识到。谢谢你指出!我认为这将失败,类似的错误“未知对象/符号E”或类似错误。是的,你是对的,我刚刚意识到。谢谢你指出!