私信  •  关注

user2390182

user2390182 最近创建的主题
user2390182 最近回复了
3 年前
回复了 user2390182 创建的主题 » *循环中的参数(Python)

这只是一个设计决定。让它成为一个 tuple 在会议上进行了辩论 PEP 3132 ,但因可用性原因被拒绝:

将带星号的目标设置为元组,而不是列表。这将是 与函数的*参数一致,但对 结果更难。

Simlarly将其与任务rhs上的iterable类型相同,但被拒绝:

试着给带星号的目标和来源相同的类型, 例如,a中的b,*b='hello'将被分配字符串'ello'。 这似乎很好,但不可能始终正确 所有的一切。

你的例子列在同一个政治公众人物的下面 specification .

在这本书中可以找到一些理由 mailing list 关于那场辩论。

当处理迭代器时,你事先不知道长度, 所以获得元组的唯一方法是首先生成一个列表,然后 然后从中创建一个元组。

3 年前
回复了 user2390182 创建的主题 » python:元组列表搜索

你可以用 next 使用条件生成器表达式:

num = [(1,4,5,30,33,41,52),(2,10,11,29,30,36,47),(3,15,25,37,38,58,59)]
search = 11

next(first for first, *rest in num if search in rest)
# 2
3 年前
回复了 user2390182 创建的主题 » Python在简单函数中给出意外的返回值

任何return语句都会在这里结束函数。在你的坏代码示例中

def guess(secword, thelist):
    for letter in thelist:
        if letter not in secword:
            return False
        else:
            return True

(这是一个非常典型的初学者的难题)在任何情况下,你都会从第一次迭代中返回循环。这意味着您只需要检查 thelist .

def guess(secword, thelist):
    for letter in thelist:
        if letter not in secword:
            return False
    return True  # you only know for sure after all are examined