相关疑难解决方法(0)

Python如何管理int和long?

有没有人知道Python如何管理内部int和long类型?

  • 它是否动态选择正确的类型?
  • int的限制是什么?
  • 我使用的是Python 2.6,与以前的版本有什么不同?

我该如何理解下面的代码?

>>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>
Run Code Online (Sandbox Code Playgroud)

更新:

>>> print type(0x7fffffff)
<type 'int'>
>>> print type(0x80000000)
<type 'long'>
Run Code Online (Sandbox Code Playgroud)

python integer

106
推荐指数
4
解决办法
19万
查看次数

为什么python在大指数结果的末尾添加一个'L'?

如果您已经注意到,python会在大指数结果的末尾添加一个L,如下所示:

>>> 25 ** 25
88817841970012523233890533447265625L
Run Code Online (Sandbox Code Playgroud)

做一些测试后,我发现,任何数量低于10不包括大号.例如:

>>> 9 ** 9
387420489
Run Code Online (Sandbox Code Playgroud)

这很奇怪,所以,为什么会发生这种情况,有什么方法可以阻止它吗?所有帮助表示赞赏!

python python-2.x exponent

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

GroupBy结果列表的列表

我有一张excel表,看起来像这样:

Column1 Column2 Column3
0       23      1
1       5       2
1       2       3
1       19      5
2       56      1
2       22      2
3       2       4
3       14      5
4       59      1
5       44      1
5       1       2
5       87      3
Run Code Online (Sandbox Code Playgroud)

我希望提取该数据,将其按第1列分组,然后将其添加到字典中,使其显示如下:

{0: [1],
1: [2,3,5],
2: [1,2],
3: [4,5],
4: [1],
5: [1,2,3]}
Run Code Online (Sandbox Code Playgroud)

到目前为止这是我的代码

excel = pandas.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols'A,C')
myTable = excel.groupby("Column1").groups
print myTable
Run Code Online (Sandbox Code Playgroud)

但是,我的输出看起来像这样:

{0: [0L], 1: [1L, 2L, 3L], 2: [4L, 5L], 3: [6L, 7L], 4: [8L], 5: …
Run Code Online (Sandbox Code Playgroud)

python xlrd pandas

20
推荐指数
2
解决办法
1万
查看次数

如何从 django 模型中获取 Id

嗨,我有两个名为 A 和 B 的模型。我想从模型 B 中获取 ID,并将其与模型 A(外键关系)中的 ID 进行比较。我使用以下方法来获取ID a = B.objects.filter(b_id=object.id).values_list('id')

但是打印的结果是[(82L,), (83L,), (84L,), (85L,)]而不是[82, 83 ,]等。如何在没有附加Ls 的情况下获得平面列表?

python django django-views django-filter

2
推荐指数
1
解决办法
204
查看次数

使用递归函数查找最大元素

我写了一个函数,试图找出列表中具有最大值的内容:

def maxElement(L):
    length=len(L)
    if L[length-1]>L[length-2]:
        del L[length-2]
        print L
    elif L[length-1]<L[length-2]:
        del L[length-1]
    return L

print maxElement([1,2,95754754745,3,1,8,444,2,42425])
Run Code Online (Sandbox Code Playgroud)

我的输出错了:

>>> 
[1, 2, 95754754745L, 3, 1, 8, 444, 42425]
[1, 2, 95754754745L, 3, 1, 8, 444, 42425]
>>> 
Run Code Online (Sandbox Code Playgroud)

它甚至不会删除我所要求的内容.我做错了什么?我无法得到它!

python function list

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

Python:结果的末尾不要包含"L":randint(100000000000000000000,999999999999999999999)

到目前为止,这是我发现的:

 from random import randint
 randint(100000000000000000000, 999999999999999999999)
Run Code Online (Sandbox Code Playgroud)

输出是:

922106555361958347898L
Run Code Online (Sandbox Code Playgroud)

但我不希望L那里..

如果在它的末尾没有"L",我只能将它用作int.

UPDATE

如果目标是简单地得到一个长度为30位的随机数,那么生成两个小数字然后合并它们会更好吗?

python python-2.7

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