小编Pat*_*ner的帖子

无法将类型bool隐式转换为System.Collections.Generic.List

为什么这段代码有效

public static List<int> RemoveSmallest(List<int> numbers)   
{
    numbers.Remove(numbers.Min());
    return numbers;
}
Run Code Online (Sandbox Code Playgroud)

而不是这个.是什么原因?

public static List<int> RemoveSmallest1(List<int> numbers)
{
    return numbers.Remove(numbers.Min());
}
Run Code Online (Sandbox Code Playgroud)

c#

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

类型错误:无法将系列转换为 &lt;class 'float'&gt;

      lat        long       time
 0  39.991861  116.344372   2.823611
 1  39.979768  116.310597  22.263056
 2  31.235001  121.470624  13.141667
 3  31.248822  121.460637   1.805278
Run Code Online (Sandbox Code Playgroud)

上面是一个数据帧 rep_points。当我运行下面的代码时,它给出了一个错误

Type error: cannot convert the series to <class 'float'> 
Run Code Online (Sandbox Code Playgroud)

在圆圈所在的那一行。

gmap = gmplot.GoogleMapPlotter(rep_points['lat'][0], rep_points['long'][0], 11)
gmap.plot(df_min.lat, df_min.lng)
gmap.scatter(rep_points['lat'],rep_points['long'],c='aquamarine')
gmap.circle(rep_points['lat'],rep_points['long'], 100, color='yellow')  
gmap.draw("user001_clus_time.html")
Run Code Online (Sandbox Code Playgroud)

我应该如何解决这个错误?我试过使用

rep_pints['lat'].astype(float) 
Run Code Online (Sandbox Code Playgroud)

rep_pints['long'].astype(float) 
Run Code Online (Sandbox Code Playgroud)

但效果不佳

python google-maps python-3.x pandas

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

如何从列表中仅获取不同的值?

我试图遍历文本文件中的列,其中每个条目只有三个选项 A, B, and C.

我想确定不同类型的选择的数量(another text file has A, B, C, and D),但如果我用a迭代列中的每个元素100 entries并将其添加到列表中,我将对每种类型进行多次重复.例如,如果我这样做,列表可能会读取[A,A,A,B,C,C,D,D,D,B,B...],但我想删除无关的条目,只是让我的列表显示可区分的类型[A,B,C,D],无论有多少条目.

有什么想法我如何将包含许多常见元素的列表减少到只显示不同可区分元素的列表?谢谢!

期望的输出:

[A, B, C, D]

python for-loop list python-3.x

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

python 脚本在目录中搜索特定文件类型

大家好,在下面的脚本中,我尝试首先列出我的主目录中的每个文件和目录,然后检查是否有任何具有特定扩展名的文件,例如(.py,.mkv)。

它适用于位于主目录中的文件,但是当我希望它检查其他目录以查看那里是否有任何文件时,它无法工作。

这是我的代码:

import os

class Sorter(object):
    path = os.environ['HOME']
    all_dirs = list()
    all_items = list()
    address = None
    movies = list()


    def __init__(self):
        pass

    def list_directories(self):
        dirs = os.listdir(self.path)
        for d in dirs:
            if os.path.isdir(os.path.join(self.path,d)):
                self.all_dirs.append(d)

            elif os.path.isfile(os.path.join(self.path,d)):
                self.all_items.append(d)

    def find_movies(self):

        for item in self.all_items:
            if os.path.splitext(os.path.join(self.path,item))[1] in ['.mp3','.mkv']:
                self.movies.append(item)
        for directory in self.all_dirs:
            try:
                os.chdir(os.path.join(self.path,directory))
                for i in directory:
                    if os.path.splitext(os.path.join(self.path,item))[1] in ['.mp3','.mkv']:
                        self.movies.append(item)
                os.chdir(self.path)
            except:
                pass
Run Code Online (Sandbox Code Playgroud)

python python-3.x os.path

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

Python一行if语句有两个动作

我试图找到一种方法来在一行中完成两个动作if语句,我可以找到很多答案来执行if语句中的单个动作,但不是这样.它甚至可能吗?我试过这样的东西,但是失败了,因为ValueError - 解压缩的值太多了(预期2).谢谢.

g, er = "id", "err" if no_of_errs <= 1 else "ppd", "ers"
Run Code Online (Sandbox Code Playgroud)

python if-statement python-3.x

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

如何通过键入函数名称而不是使用括号来调用python中的函数

首先要找到两个数字的"lcm"我做了一个函数lcm(a, b).然后我想找到"hcf",所以我做了一个装饰器decorhcf(a, b)在其中定义了一个函数.然后我通过输入函数的名称返回此函数,我没有使用括号,但它仍然有效.我不明白为什么这个功能工作,即使我没有使用括号.

def decor(lcm_arg):        # just to practice decorators
    def hcf(a, b):
        if a > b:
            a, b = b, a
        while True:
            if b % a == 0:
                print("hcf is", a)
                break
            else:
                a, b = b % a, a
        return lcm_arg(a, b)
    return hcf              # how hcf function is working without using brackets

@decor
def lcm(a, b):
    if a > b:
        a, b = b, a
    for x in range(b, a*b+1, …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-decorators

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

在python中通过if条件追加列表

这可能是一个非常基本的问题,但我意识到我不明白一些事情。

在 for 循环中追加新内容时,如何提出条件并仍然追加该项目?

例如:

alist = [0,1,2,3,4,5]
new = []
for n in alist:
    if n == 5:
        continue
    else:
        new.append(n+1)

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

让我明白

[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

如何得到

[1, 2, 3, 4, 5, 5] # 4 is incremented, 5 is added 'as is'
Run Code Online (Sandbox Code Playgroud)

本质上,我想告诉 python 不要经历n+1when n==5

这是唯一的解决方案吗?将 n==5 单独附加到列表中,然后将新的和单独的列表相加?

python for-loop list append python-3.x

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

使用Python将csv转换为固定宽度文件

如何将 CSV 转换为固定宽度文件格式。

import csv
with open('C:\\Users\\thara.savio\\Downloads\\Sacramentorealestatetransactions.csv', newline='') as csvfile:
    spamreader = csv.reader(csvfile, delimiter=',')
    for row in spamreader:
        print('     '.join(row))
Run Code Online (Sandbox Code Playgroud)

它转换为以制表符作为分隔符的文本文件,而不是固定宽度格式。

下面是我得到的结果。

3526 HIGH ST     SACRAMENTO     95838     CA     2     1     836     Residential     Wed May 21 00:00:00 EDT 2008     59222     38.631913     -121.434879
51 OMAHA CT     SACRAMENTO     95823     CA     3     1     1167     Residential     Wed May 21 00:00:00 EDT 2008     68212     38.478902     -121.431028
2796 BRANCH ST     SACRAMENTO     95815     CA     2     1     796     Residential     Wed May 21 00:00:00 EDT 2008     68880     38.618305     -121.443839
2805 …
Run Code Online (Sandbox Code Playgroud)

python csv fixed-width python-3.x

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

比较列表的列

如何将B列列表值与A列列表值进行比较,并在A列值的列表元素为NaN时保留B列列表值或将其更改为NaN?

我试图进行搜索,但是只发现了类似的问题,然后使用apply函数在哪里解决了问题,但我真的不知道它是如何工作的。

这是一个示例,它应该如何看待结尾:

data = {"A":[[100, 333.3, np.NaN, np.NaN],[np.NaN, np.NaN,50, 25]],
       "B":[["A1", "A2", "A3", "A4"], ["B1", "B2", "B3", "B4"]]}
df = pd.DataFrame(data=data)
Run Code Online (Sandbox Code Playgroud)

输出应为:

            A                     B

0 [100, 333.3, nan, nan] [A1, A2, nan, nan] 

1     [nan, nan, 50, 25] [nan, nan, B3, B4]
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

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

字典式字典的字符串列表

s=['Closure Type: Button', 'Fit: Regular', 'Neckline: Collar Neck', 
   'Sleeve Length: Long Sleeve', 'Sleeve Style: Cuffed Sleeve']
Run Code Online (Sandbox Code Playgroud)

您好,我正在尝试将以上列表转换为一本词典

键对于我需要更改的所有字符串不是恒定的。

我试过了

data={{k:v} for i in s for k,v in i.split(': ')}
json.loads(s)
Run Code Online (Sandbox Code Playgroud)

但我明白了

ValueError:太多值无法解包(预期2)

我的预期输出是:

data={'Closure Type':'Button','Fit':'Regular','Neckline':'Collar Neck',
      'Sleeve Length':'Long Sleeve','Sleeve Style':'Cuffed Sleeve'}
Run Code Online (Sandbox Code Playgroud)

python

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