相关疑难解决方法(0)

不使用局部变量值 - python

我正在编写一些python代码(与ArcGIS结合使用),我有一个简单的语句运行良好,完全按照我的要求去做,我只是从我的脚本软件(PyCharm)得到一个"警告"我:

  • 不使用局部变量'row'值
  • 此检查突出显示范围中未使用的局部变量,参数或本地函数.

我知道它没有被使用,因为它不需要.这是唯一的方法(我个人知道)计算表中存在多少行.

有人能告诉我是否有更好的(更正确的)写作方式?

cursor = arcpy.SearchCursor(my_table)
for row in cursor:
    count += 1
print count
Run Code Online (Sandbox Code Playgroud)

干杯

python arcpy

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

变量分配给最后执行的行?

我刚刚在Python解释器中发现了一些奇怪的东西.让我演示给你看:

$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> _
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name '_' is not defined
>>> 5 + 4
9
>>> _
9
>>> 'Hello world'
'Hello world'
>>> _
'Hello world'
>>> type(3.5)
<type 'float'>
>>> _
<type 'float'>
Run Code Online (Sandbox Code Playgroud)

你可以在翻译中试试这个; 这里没有招数!

最后执行的行的结果是否被赋值给名为_?的变量?

有人知道吗?有没有关于它的文件?在哪种情况下它可能有用吗?

python interpreter

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

Python列表生成:强制新对象

Python中有没有办法在创建列表时强制生成新对象?

假设我有一个类Test,我想在列表中存储5个对象.
我使用以下代码生成列表:

myList = [Test()] * 5
Run Code Online (Sandbox Code Playgroud)

使用此代码,python只创建1个对象,存储5次.

当然我可以使用for循环来生成列表.但是在我的真实程序中,这会极大地破坏代码,因为我有大约30个列表,它们部分嵌套在另一个列表中.

那么是否有一种快速的方法(可能是一个单行)强制python在每个条目中生成一个新的对象?

python list

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

NameError:未定义全局名称"_"

代码:

if (query_id, _) in hashtable[bucket]:
Run Code Online (Sandbox Code Playgroud)

我希望这在for循环中工作,但它会给出这个错误:

NameError:未定义全局名称"_"

hastable[bucket]如果重要的是一对列表(我怀疑).有任何想法吗?

python nameerror python-2.7

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

如何用玩具名称重命名长熊猫数据框?

我有一个包含120列的pandas数据帧.列看起来像这样:

0_x     1_x     2_x     3_x     4_x     5_x     6_x     7_x     8_x     0_y     ...     65 ... 120
Run Code Online (Sandbox Code Playgroud)

如何在一次运动中重命名它们?我阅读了文档,发现在pandas中重命名列的方法是:

df.columns = ['col1', 'col2', 'col3']
Run Code Online (Sandbox Code Playgroud)

问题是我写的120多列的列表可能很奇怪.这个问题存在哪些替代方案?假设我想将所有列命名为:col1to colN.

python python-3.x pandas

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

在Python(3.x)中使用不同的参数连续调用多次函数?

我有一段代码看起来像这样:

myfunction(a, b, c)
myfunction(d, e, f)
myfunction(g, h, i)
myfunction(j, k, l)
Run Code Online (Sandbox Code Playgroud)

自变量的数量不变,但是每次必须使用不同的值连续调用该函数。这些值不会自动生成,而是手动输入。是否有内联解决方案来执行此操作而不创建函数来调用此函数?就像是:

myfunction(a, b, c)(d, e f)(g, h, i)(j, k, l)
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。提前致谢!

python function shortcut python-3.x

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

有没有更好的pythonic方式来编写此代码?

我正在尝试从文本文件中读取第一列和第三列,并将它们添加在一起。

下面的代码可以完美地工作,并为我提供所需的结果,但是尝试找出是否有更好的pythonic方式编写此代码?

with open('random.txt', 'r') as fn:
    next(fn)
    numbers = fn.readlines()
    first_col = [int(x.split(',')[0]) for x in numbers]
    third_col = [int(y.split(',')[2]) for y in numbers]

    result = [v + z for v, z in zip(first_col, third_col)]

    print(result)
Run Code Online (Sandbox Code Playgroud)

随机文件实际上是一个随机文件。

col1,col2,col3
44,65,78
55,87,98
12,32,62
Run Code Online (Sandbox Code Playgroud)

结果:

[122, 153, 74]
Run Code Online (Sandbox Code Playgroud)

python

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

lambda 函数中的“_”是什么意思以及为什么使用它?

我有一个以“_”作为参数的匿名函数,我不知道它的含义以及为什么在这里使用它。

函数是:

f = lambda _: model.loss(X, y)[0]

grad_num = eval_numerical_gradient(f, model.params[name], verbose=False, h=1e-5)

模型损失:

def loss(self, X, y=None):


    # Unpack variables from the params dictionary
    W1, b1 = self.params['W1'], self.params['b1']
    W2, b2 = self.params['W2'], self.params['b2']

    h1, h1_cache = affine_relu_forward(X, W1, b1)
    scores, h2_cache = affine_forward(h1, W2, b2)


    # If y is None then we are in test mode so just return scores
    if y is None:
        return scores

    loss, grads = 0, {}


    loss, dscores = softmax_loss(scores, y)
    loss …
Run Code Online (Sandbox Code Playgroud)

python lambda

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

Python编程_,无法理解这个代码是做什么的

所以我正在阅读一本名为Tkinter的书.我在python中编程相当新.因此,当我在本书中输入示例代码时,我注意到有一个不熟悉的代码给我.

colour_schemes = [{"bg": "lightgrey", "fg": "black"}, {"bg": "grey", "fg": "white"}]

_, task_style_choice = divmod(len(self.tasks), 2)

my_scheme_choice = colour_schemes[task_style_choice]
Run Code Online (Sandbox Code Playgroud)

我理解代码是如何工作的并且它运行但是由于某些特定的原因,每当我删除这部分代码"_,"并且我尝试输入文本时此错误显示.

TypeError: list indices must be integers or slices, not tuple
Run Code Online (Sandbox Code Playgroud)

我正在使用python版本3.6.3,我似乎无法找到与我相关的任何问题,有人可以向我解释"_"这对我的代码有什么影响.

谢谢!

python python-3.x

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

为什么我的代码打印的 "i" 比它应该的数量少?

    people = int(input("give me the amount of people who want to auction(must be less than 101 and more than 0"))
if people < 1:
  print("you arn't so popular after all")
elif people > 100:
  print("you were banned for having to much pepole")
else:
 print(people)
 for i in (0,people):
  print("i")
Run Code Online (Sandbox Code Playgroud)

如果你输入一个像 10 这样的数字,它只会打印 2 个“i”

python

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

Django 错误:ValueError:无法分配“(&lt;类别:文化&gt;,True)”:“Site.category”必须是“类别”实例

我需要创建一个从 csv 文件导入数据的数据库。按照练习的说明,我创建了模型和脚本文件,但是当我运行命令时,python manage.py runscript many_load它在标题中给出了错误。这是代码:

- 模型.py:

from django.db import models


class Category(models.Model):
    category = models.CharField(max_length=128)

    def __str__(self):
        return self.category

class State(models.Model):
    state = models.CharField(max_length=25)

    def __str__(self):
        return self.state


class Region(models.Model):
    region = models.CharField(max_length=25)

    def __str__(self):
        return self.region

class Iso(models.Model):
    iso = models.CharField(max_length=5)

    def __str__(self):
        return self.iso

class Site(models.Model):
    name = models.CharField(max_length=128)
    year = models.CharField(max_length=128)
    area = models.CharField(max_length=128)
    describe = models.TextField(max_length=500)
    justify = models.TextField(max_length=500, null=True)
    longitude = models.TextField(max_length=25, null=True)
    latitude = models.TextField(max_length=25, null=True)

    #one to many field …
Run Code Online (Sandbox Code Playgroud)

python csv django django-models import-from-csv

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