Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.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 - Fatal编程技术网

python有一种做事的方法吗?

python有一种做事的方法吗?,python,Python,我总是在python文章/书籍中看到python很简单,它只有一种方法。我希望有人向我解释这个概念记住下面的例子,如果我想得到序列的最小值和最大值,我将执行以下操作 seq=[1,2,3,4,5,6] min(seq) #1 max(seq) #6 但我也能做到这一点 seq[:1] #1 seq[-1] #6 当然,这是做一件简单事情的两种方法。这让我有点困惑。这是两件不同的事情max()为您提供列表中最大的元素(默认情况下使用常规数字比较),而[-1]为您提供最后一个元素–在您

我总是在python文章/书籍中看到python很简单,它只有一种方法。我希望有人向我解释这个概念记住下面的例子,如果我想得到序列的最小值和最大值,我将执行以下操作

seq=[1,2,3,4,5,6]

min(seq) #1

max(seq) #6
但我也能做到这一点

seq[:1]  #1

seq[-1]  #6

当然,这是做一件简单事情的两种方法。这让我有点困惑。

这是两件不同的事情
max()
为您提供列表中最大的元素(默认情况下使用常规数字比较),而
[-1]
为您提供最后一个元素–在您的示例中,这恰好是相同的事情。但是考虑一下:

>>> seq = [2, 7, 5, 4]
>>> max(seq)
7
>>> seq[-1]
4

顺便说一句,
seq[:1]
再次为您提供了一些不同的内容–即
[1]
(在我的示例中是
[2]
),一个元素列表。你的意思可能是
seq[0]
,它是列表的第一个元素,而
min(seq)
是最小的元素。

这是两个不同的东西
max()
为您提供列表中最大的元素(默认情况下使用常规数字比较),而
[-1]
为您提供最后一个元素–在您的示例中,这恰好是相同的事情。但是考虑一下:

>>> seq = [2, 7, 5, 4]
>>> max(seq)
7
>>> seq[-1]
4

顺便说一句,
seq[:1]
再次为您提供了一些不同的内容–即
[1]
(在我的示例中是
[2]
),一个元素列表。您可能的意思是
seq[0]
,它是列表的第一个元素,而
min(seq)
,它是最小的元素。

在您的示例中,您实际上做了两件不同的事情——它们恰好给出了相同的结果,因为您的输入列表已排序。然而,做事总是有多种方式的。Python的方法并不是真正避免或禁止多种方法来做同一件事,而是有一种——最好只有一种——明显的方法来做事情。

在您的示例中,您实际上做了两件不同的事情——它们恰好给出相同的结果,因为您的输入列表是排序的。然而,做事总是有多种方式的。Python的方法并不是真正避免或禁止做同一件事的多种方法,而是有一种——最好只有一种——明显的方法

>>> import this

一种明显的方式

>>> import this
并不是说它“有一种做事的方式”,而是更多的“应该有一种——最好只有一种——显而易见的做事方式。”

这并不排除有不止一种做事方式的可能性。我们谈论的是编程,其中创造力是最重要的技能之一,找到解决问题的新方法是必须的

在您的示例中,您正在做两件不同的事情:

  • 获取列表的最小值和最大值
  • 获取列表的第一个和最后一个元素
  • 在这种情况下,结果恰好是完全相同的。

    并不是说它“有一种做事情的方法”,而是“应该有一种——最好只有一种——明显的方法来做。”

    这并不排除有不止一种做事方式的可能性。我们谈论的是编程,其中创造力是最重要的技能之一,找到解决问题的新方法是必须的

    在您的示例中,您正在做两件不同的事情:

  • 获取列表的最小值和最大值
  • 获取列表的第一个和最后一个元素

  • 在这种情况下,结果恰好是完全相同的。

    max()、min()和索引切片它们都做不同的事情。在您的列表中,顺序可能不像您的示例那样进行排序,因此在这些情况下,使用切片将无法获得最大/最小值。如果您想获得最大/最小值,只需使用
    max()/min()
    函数

    max()、min()和索引切片,它们都做不同的事情。在您的列表中,顺序可能不像您的示例那样进行排序,因此在这些情况下,使用切片将无法获得最大/最小值。如果您想获得最大/最小值,只需使用
    max()/min()
    functions

    解决问题的方法总是不止一种,但是python开发人员尝试不添加提供冗余功能的语言特性,这与perl非常不同。

    解决问题的方法总是不止一种,但是python开发人员尽量不添加提供冗余功能的语言特性,这与perl非常不同。

    bah。我真的很想给你这个职位+10分。唉,我只能做+1。。。。太糟糕了……:)我认为您的示例非常简单。同样,seq[:1]返回一个列表,您可能正在查找seq[0]bah。我真的很想给你这个职位+10分。唉,我只能做+1。。。。太糟糕了……:)我认为您的示例非常简单。同样,seq[:1]返回一个列表,您可能正在查找seq[0]