相关疑难解决方法(0)

Underscore _作为Python中的变量名

Peter Norvig 通过结合确定性逻辑运算和可能解决方案的智能遍历,撰写了一篇描述解决数独难题程序的文章,即使是最困难的难题.后者是递归完成的; 这是该功能(来源):

def search(values):
    "Using depth-first search and propagation, try all possible values."
    if values is False:
        return False ## Failed earlier
    if all( len( values[s]) == 1 for s in squares): 
        return values ## Solved!
    ## Chose the unfilled square s with the fewest possibilities
    _,s = min( (len( values[s]), s) 
                for s in squares 
                if len(values[s]) > 1
            )
    return some( search( assign( values.copy(), s, d)) 
                for d …
Run Code Online (Sandbox Code Playgroud)

python variables naming-conventions metasyntactic-variable

64
推荐指数
3
解决办法
4万
查看次数

将项目附加到python中的列表列表

我对列表索引很生气,无法解释我做错了什么.

我有这段代码,我想在其中创建一个列表列表,每个列表包含相同电路参数(电压,电流等)的值,我正在从一个csv看起来像这样的文件中读取:

Sample, V1, I1, V2, I2
0, 3, 0.01, 3, 0.02
1, 3, 0.01, 3, 0.03
Run Code Online (Sandbox Code Playgroud)

等等.我想要的是以[[V1],[I1]]的形式创建一个列表,例如包含V1和I1(但我想以交互方式选择),所以:

[[3,3], [0.01, 0.01]]
Run Code Online (Sandbox Code Playgroud)

我正在使用的代码是这样的:

plot_data = [[]]*len(positions)    
for row in reader:
    for place in range(len(positions)):
        value = float(row[positions[place]])
        plot_data[place].append(value)
Run Code Online (Sandbox Code Playgroud)

plot_data是包含所有值的列表,而是包含positions我要从.csv文件中复制的列的索引的列表.问题是,如果我尝试在外壳的命令,似乎工作,但如果我运行的脚本,而不是附加的每个值到适当的子列表,它附加到所有列表的所有值,所以我得到2(或更多)相同的清单.

python csv list append

46
推荐指数
1
解决办法
8万
查看次数

使用Python赋值运算符使用逗号和下划线的含义?

通过Peter Norvig的解决每一个数独拼图文章,我遇到了一些我以前从未见过的Python习语.

我知道函数可以返回一个元组/值列表,在这种情况下,您可以为结果分配多个变量,例如

def f():
    return 1,2

a, b = f()
Run Code Online (Sandbox Code Playgroud)

但是以下各项的含义是什么?

d2, = values[s]  ## values[s] is a string and at this point len(values[s]) is 1
Run Code Online (Sandbox Code Playgroud)

如果len(values[s]) == 1,那么这个陈述与此有何不同d2 = values[s]

关于在作业中使用下划线的另一个问题:

_,s = min((len(values[s]), s) for s in squares if len(values[s]) > 1)
Run Code Online (Sandbox Code Playgroud)

下划线是否具有基本上丢弃列表中返回的第一个值的效果?

python syntax iterable-unpacking

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

'for _ in range() 的含义是什么

我正在看一些张量流的东西,我理解 for 循环,或者至少我认为我理解,但是我遇到for _ in range(20)并想知道在这种情况下 _ 的含义是什么。我习惯了 for x in range 或 for i in range 的东西并理解这些内容,但无法理解我在下划线上读到的内容

python machine-learning python-3.x

31
推荐指数
1
解决办法
8万
查看次数

python中未使用的变量命名

可能重复:
如何在for循环中声明未使用的变量?

在Python中,命名一个不会被使用的变量的最佳实践是什么?这是一个奇怪的问题,但对于我的具体情况,我有一个(键,值)元组,我只对值感兴趣.我的用例的基本演示:

some_stuff = [("key", "value"), ("key2", "value")]
for _, value in some_stuff:
    pass  # TODO: do something really important with value
Run Code Online (Sandbox Code Playgroud)

我在Eclipse中注意到,命名变量_或带_前缀(例如_k)将不会显示未使用的变量警告,并且删除_前缀会导致警告被引发,但这可能只是一个奇怪的/"功能"在Eclipse中而不是Python最佳实践..

python variables

28
推荐指数
2
解决办法
3万
查看次数

iterrows pandas获得下一行值

我在熊猫里有一个df

import pandas as pd
df = pd.DataFrame(['AA', 'BB', 'CC'], columns = ['value'])
Run Code Online (Sandbox Code Playgroud)

我想迭代df中的行.对于每一行我想要行s value and next row的值类似(它不起作用):

for i, row in df.iterrows():
     print row['value']
     i1, row1 = next(df.iterrows())
     print row1['value']
Run Code Online (Sandbox Code Playgroud)

结果我想要

'AA'
'BB'
'BB'
'CC'
'CC'
*Wrong index error here  
Run Code Online (Sandbox Code Playgroud)

在这一点上,我有办法解决这个问题

for i in range(0, df.shape[0])
   print df.irow(i)['value']
   print df.irow(i+1)['value']
Run Code Online (Sandbox Code Playgroud)

有没有更有效的方法来解决这个问题?

python next pandas

28
推荐指数
3
解决办法
8万
查看次数

Python:对于每个列表元素,在列表中应用一个函数

鉴于[1,2,3,4,5],我该怎么办呢

1/1, 1/2, 1/3,1/4,1/5, ...., 3/1,3/2,3/3,3/4,3/5,.... 5/1,5/2,5/3,5/4,5/5
Run Code Online (Sandbox Code Playgroud)

我想存储所有结果,找到最小值,并返回用于找到最小值的两个数字.所以在我上面描述的情况下,我想回来(1,5).

所以基本上我想做点什么

每个元素i列表中的映射跨所有元素一些功能列表中,以ij作为参数结果存储在主列表,发现在主列表中的最小值,并返回参数i,j用于计算该最小值.

在我真正的问题中,我有一个列表对象/坐标,我使用的函数采用两个坐标并计算欧氏距离.我试图找到任意两点之间的最小欧氏距离,但我不需要花哨的算法.

python algorithm list-comprehension list

25
推荐指数
2
解决办法
10万
查看次数

将变量写入文件,包括名称

假设我在一个小应用程序中有以下字典.

dict = {'one': 1, 'two': 2}
Run Code Online (Sandbox Code Playgroud)

如果我想将具有dict名称和所有内容的确切代码行写入文件,该怎么办?python中有一个函数可以让我这样做吗?或者我是否必须先将其转换为字符串?转换它不是问题,但也许有一种更简单的方法.

我不需要将它转换为字符串的方法,我可以做.但如果有一个内置函数可以为我做这个,我想知道.

为了说清楚,我想写的文件是:

write_to_file("dict = {'one': 1, 'two': 2}")
Run Code Online (Sandbox Code Playgroud)

python

25
推荐指数
3
解决办法
21万
查看次数

如何使用python计算文本文件中的总行数

例如,如果我的文本文件是:

blue
green
yellow
black
Run Code Online (Sandbox Code Playgroud)

这里有四行,现在我想得到四个结果.我怎样才能做到这一点?

python file-io sum file

24
推荐指数
4
解决办法
12万
查看次数

使用tqdm与current.futures?

我有一个多线程函数,我想要一个使用状态栏tqdm。有没有一种简单的方法可以显示状态栏ThreadPoolExecutor?正是并行化部分使我感到困惑。

import concurrent.futures

def f(x):
    return f**2

my_iter = range(1000000)

def run(f,my_iter):
    with concurrent.futures.ThreadPoolExecutor() as executor:
        function = list(executor.map(f, my_iter))
    return results

run(f, my_iter) # wrap tqdr around this function?
Run Code Online (Sandbox Code Playgroud)

python concurrent.futures tqdm

23
推荐指数
3
解决办法
3180
查看次数