例如,如果
a = {('a','b','c'):2, ('b','c','d'):3}
我只想返回'a','b'。
我试过了:
for key in a:
    return key[0]
但它只返回'a'。
是否有一种不使用 lambda 或计数器或类似的东西(这是 python 的基础课程)找到第一个元素的正确方法。所以,没有其他输入程序。
例如,如果
a = {('a','b','c'):2, ('b','c','d'):3}
我只想返回'a','b'。
我试过了:
for key in a:
    return key[0]
但它只返回'a'。
是否有一种不使用 lambda 或计数器或类似的东西(这是 python 的基础课程)找到第一个元素的正确方法。所以,没有其他输入程序。
该函数(以及因此您的for循环)一旦命中就结束return。您应该将值存储在列表中,然后返回。就像是:
def getFirstElems(dic):
    firstElems = []
    for key in dic:
        firstElems.append(key[0])
    return firstElems
然后,如果您像这样运行该功能:
a = {('a','b','c'):2, ('b','c','d'):3}
elem1, elem2 = getFirstElems(a)
print "elem1:", elem1
print "elem2:", elem2
你得到这个输出:
elem1: a
elem2: b
    你想要这样的东西吗
In [4]: a = {('a','b','c'):2, ('b','c','d'):3}
In [5]: [key[0] for key in a.keys()]
Out[5]: ['a', 'b']
您的代码的问题是return声明...您应该在返回之前保留所有结果...
如果您每次都想要单独的元素可以使用generators
In [19]: def mygenerator():
   ....:     a = {('a','b','c'):2, ('b','c','d'):3}
   ....:     for k in a.keys():
   ....:         yield k[0]
   ....:
In [20]: mg = mygenerator()
In [21]: print(mg)
<generator object mygenerator at 0x035FA148>
In [22]: for i in mg:
   ....:     print i
   ....:
a
b
    据我所知,您想遍历字典的键。尝试
for k in a.keys():