相关疑难解决方法(0)

最多两个元组

Python文档声明,当使用多个参数调用时,max()返回最大的参数.

>>> a = (1, 1, 1, 9)
>>> b = (4, 5, 6)
>>> max(a, b)
(4, 5, 6)
Run Code Online (Sandbox Code Playgroud)

什么定义了如何元组,在这种情况下,是什么?元组a具有更多数量的元素(四个对三个),并且其最大值(9)大于可以在b(6)中找到的最大数量,因此根据任何标准,我预期它将是回来了.如何通过max()比较元组?

python max

11
推荐指数
1
解决办法
4063
查看次数

如何在python中比较字符串和整数?

我有这个简单的python程序.我跑了它打印yes,实际上我希望它不打印任何东西因为14不大于14.

我看到了这个相关的问题,但它没有多大帮助.

#! /usr/bin/python

import sys

hours = "14"

if (hours > 14):
        print "yes"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python comparison

10
推荐指数
1
解决办法
3万
查看次数

Python:为什么将int与字符串进行比较的等式不会引发错误?

在Python 3中,尝试对字符串和int(例如1 > "1")进行排序会引发TypeError.为什么比较字符串和int的相等性不会抛出错误?(例如1=="1")将字符串与int进行比较有什么意义?为什么JavaScript和SQL采用不同的方法?

相关: Python如何比较字符串和int?

python types

9
推荐指数
2
解决办法
758
查看次数

为什么Python 2允许列表和数字之间的比较?

我最近在我的程序中发现了一个拼写错误

while len(first_list) > second_list:
    do_stuff
Run Code Online (Sandbox Code Playgroud)

我打得四处这一点,并发现5 < ["apple"] == True5 > ["apple"] == False

为什么Python允许这些类型的比较?什么是在引擎盖下评估,以确定5是否小于["apple"]

python python-2.7

9
推荐指数
1
解决办法
224
查看次数

当一个类型为"object"的列与一个整数进行比较时,Pandas如何处理这种情况?

我的问题是关于pandas用来比较具有"object"类型的列和整数的规则.这是我的代码:

In [334]: df
Out[334]: 
     c1    c2        c3  c4
id1   1    li -0.367860   5
id2   2  zhao -0.596926   5
id3   3   sun  0.493806   5
id4   4  wang -0.311407   5
id5   5  wang  0.253646   5

In [335]: df < 2
Out[335]: 
        c1    c2    c3     c4
id1   True  True  True  False
id2  False  True  True  False
id3  False  True  True  False
id4  False  True  True  False
id5  False  True  True  False

In [336]: df.dtypes
Out[336]: 
c1      int64
c2     object
c3    float64
c4 …
Run Code Online (Sandbox Code Playgroud)

python comparison-operators dataframe pandas

9
推荐指数
1
解决办法
155
查看次数

为什么在python 2.x中int(50)<str(5)?

在python 3中,int(50)<'2'导致a TypeError,以及它应该.但是,在python 2.x中,int(50)<'2'返回True(对于其他数字格式也是如此,但int在py2和py3中都存在).那么,我的问题有几个部分:

  1. 为什么Python 2.x(<3?)允许这种行为?
    • (谁认为允许这个开头是个好主意?)
  2. 一个int小于一个是什么意思str
    • 是指ord/ chr
    • 是否有一些二进制格式不太明显?
  3. 这方面'5'u'5'这方面有区别吗?

python string int comparison python-2.x

6
推荐指数
2
解决办法
671
查看次数

虽然循环不会停止

我在Python中有这个简单的代码:

import sys

class Crawler(object):

  def __init__(self, num_of_runs):
    self.run_number = 1
    self.num_of_runs = num_of_runs

  def single_run(self):
    #do stuff
    pass

  def run(self):
    while self.run_number <= self.num_of_runs:
      self.single_run()
      print self.run_number
      self.run_number += 1

if __name__ == "__main__":
  num_of_runs = sys.argv[1]
  crawler = Crawler(num_of_runs)
  crawler.run()
Run Code Online (Sandbox Code Playgroud)

然后,我这样运行:

python path/crawler.py 10

根据我的理解,它应循环10次并停止,对吧?为什么不呢?

python

6
推荐指数
1
解决办法
1009
查看次数

为什么raw_input在这个Learn Python the Hard Way练习变体中创建了一个无限循环?

我正在尝试通过学习Python的艰难方式,并试图在我可以进一步教育的地方乱七八糟.我认为这样可行:设置raw_input以设置while循环的限制,然后让while循环执行到我用变量"frequency"建立的限制.

它,呃,没有.相反,它将Python发送到创建数字列表的无限循环中,每个循环看起来比最后一个(非常长)列表长一个增量.

原始代码有"while i <6" - 我添加了raw_input变量,即使我输入与原始代码(6)中相同的变量,它也会执行无限循环.

这是完整的脚本:

i = 0 
numbers = []

print "What is the frequency?"
frequency = raw_input ('Kenneth? ')

while i < frequency:
    print "At the top i is %d" % i
    numbers.append(i)
    i = i + 1
    print "Numbers now: ", numbers
    print "At the bottom i is %d" % i

print "The numbers: "

for num in numbers: 
    print num
Run Code Online (Sandbox Code Playgroud)

为最大限度的无知而道歉 - 我现在在平装本面前有一份Python for Software Design的副本,这是我在LPTHW之后的待办事项清单上的下一件事.

python while-loop

5
推荐指数
1
解决办法
780
查看次数

为什么python max('a',5)返回字符串值?

追溯ValueError: cannot convert float NaN to integer我发现的那条线:

max('a', 5)
max(5, 'a')
Run Code Online (Sandbox Code Playgroud)

将返回a而不是5.

在上面的例子中,我使用了示例字符串,a但在我的实际情况中,字符串是a NaN(未能收敛的拟合过程的结果).

这种行为背后的理由是什么?为什么python不会自动识别出那里有一个字符串并且它应该返回该数字?

更好奇的是,min() 没有工作,因为预期:

min('a', 5)
min(5, 'a')
Run Code Online (Sandbox Code Playgroud)

回报5.

python max min

5
推荐指数
1
解决办法
2112
查看次数

Python 如何将字符串与整数进行比较?

鉴于以下代码:

a = '1'
if a == 1:
    print 'yes'
else:
    print 'no'
Run Code Online (Sandbox Code Playgroud)

我们得到输出为no

Python 如何将字符串值与这里的 int 值进行比较 ( if a == 1)?在 C 中,这样的比较会产生错误,因为这是在比较不同的类型。

python equality

5
推荐指数
1
解决办法
4617
查看次数