小编Vin*_*ard的帖子

字典上的Python三元运算符失败

原始代码:对于字典d1,如果d1[w]不存在,则将其初始化为1.否则增加它.

if d1.get(w) == None:
    d1[w] = 1
else:
    d1[w] += 1
Run Code Online (Sandbox Code Playgroud)

但是,使用三元运算符会导致失败.

d1[w] = 1 if d1.get(w) == None else d1[w] += 1
                                           ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

这是什么问题?

python

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

<- 和 do 块中的“let”之间有什么区别?

I don't understand when do I have to use let and when do I have to use the <- binding.

haskell frege

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

Python 不支持的格式字符“w”

我正在创建一个 madlibs 游戏,它接受用户输入并返回故事。我使用 %s 来存储输入。当我收到此错误时,我将之前帖子中的 %s 更改为 %%s,但错误仍然存​​在

print "What is your name?"
a = raw_input()
print "Hello", a, "Lets see if you like you can do MadLibs!"
print "HEAD KNIGHT OF NI: %s \n KNIGHTS OF NI : %s \n ARTHUR : Who are you ? \n HEAD KNIGHT : We are the %s who say. %s \n RANDOM : %s \n ARTHUR : No ! Not the %s who say %s \n Head Knight: The Same! \n Bedevere: …
Run Code Online (Sandbox Code Playgroud)

python

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

Pythonic maxby功能?

A maxby(list, f)将对象列表和函数f作为参数,这样f应用于列表中的任何对象都会返回一个数字.然后maxby返回对象xlist针对f(x)最大.

什么是写出类似的pythonic方式maxby(list, f)?它已经实现了,还是我必须写一个?

python max python-2.7

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

如何从Python列表中删除一个实例?

因此,我有一个Python脚本,该脚本读取篮球比赛的逐项比赛的.csv文件,以按阵容计算出加/减。它会在球员的姓氏列表中跟踪地板上的当前球员,并且当一个团队有两个具有相同姓氏的球员时,我会遇到一个错误(逐次比赛数据不使用名字,仅数字和姓氏,而我不跟踪其数字)。当我在重复名称之一上使用lineup.remove(player)时,问题就来了,它从列表中同时删除了这两个名称。有一种简单的方法可以只删除一个,如果可以,我可以指定哪个吗?

示例列表将是

['JONES', 'PATTERSON', 'SMITH', 'JONES', 'WILLIAMS']
Run Code Online (Sandbox Code Playgroud)

python list

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

理解Haskell类型

我已设法实现模拟过滤器功能(经过多次尝试)

filter' :: (Num a, Eq a) => (a -> Bool) -> [a] -> [a]
filter' a [] = []
filter' a (x:xs) = if a x
  then x : filter' a xs
  else filter' a xs
Run Code Online (Sandbox Code Playgroud)

我不清楚的是类型声明

filter' :: (Num a, Eq a) => (a -> Bool) -> [a] -> [a]
-- filter' (<10) [1,2,3] 
-- output = []
Run Code Online (Sandbox Code Playgroud)

我们传入(<10) [1,2,3].但是在类型声明中,(a -> Bool)我们传递一个来自列表的递归,输出为true或false.然而,表达测试(<10)?怎么样我们为什么不添加另一个Bool?

haskell

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

如何防止列表在用作函数中的参数后发生更改?

我有一些代码没有按照我的意愿输出结果。

代码

def func_a(list1):
    list1.insert(2,'3')
    list1.append('c')
    return (list1)

def main():
    list_1 = ['1','2','a','b']    
    list_2 = func_a(list_1)
    print (list_1)
    print ("\n")
    print (list_2)

main()
Run Code Online (Sandbox Code Playgroud)

此代码的输出是:

['1', '2', '3', 'a', 'b', 'c']


['1', '2', '3', 'a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

我希望它是:

['1', '2', 'a', 'b']


['1', '2', '3', 'a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-3.x

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

Python类继承没有做我认为应该做的事情

我想我理解了python中的类继承,基本上你可以继承子类的父类的属性以便重用,并且还可以"添加"它以使更复杂的类.

这是我的问题:我有一个Car下面的类有(model, color, mpg)参数,之后我创建了一个名为ElectricCar从父Car类继承的新子类...现在当我调用ElectricCar"时(battery_type, model, color, mpg),我得到以下错误:

TypeError:init()只需要2个参数(给定5个参数)

我知道要解决它.我需要添加self.model,self.colorself.mpgElectricCar类.但为什么我必须这样做?如果我需要在子类上重新定义,这似乎会破坏继承的目的.

class Car(object):
    condition = "new"
    def __init__(self, model, color, mpg):
        self.model = model
        self.color = color
        self.mpg   = mpg

my_car = Car("DeLorean", "silver", 88)

class ElectricCar(Car):
    def __init__(self,battery_type):
        self.battery_type = battery_type

my_car = ElectricCar("molten salt", "Honda","black", "33")
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

索引可变维数的 ndarray

我有一个 numpy ndarray 实例,但大小可变。

import numpy as np
dimensions = (4, 4, 4)
myarray = np.zeros(shape = dimensions)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得到了一个“立方”形状的数组,如果我想索引一个切片,myarray我可以使用它myarray[:][:][0],因为我知道有 3 个维度(我使用 3 对[])。

如果是 4 维,我会使用myarray[:][:][:][0]. 但由于维度的数量可能会改变,所以我不能以这种方式对其进行硬编码。

如何根据维数对此类数组的切片进行索引?看似简单的问题,却想不出任何解决方案。

python indexing numpy multidimensional-array

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

带有列号的SQL循环

我有一张3柱和4排的桌子.

        Col1    Col2    Col3
Row1    A1      B1      1
Row2    A2      B2      0
Row3    A3      B3      3
Row4    A4      B4      1
Run Code Online (Sandbox Code Playgroud)

一个select * from [table]回报:

A1 B1 1
A2 B2 0
A3 B3 3
A4 B4 1
Run Code Online (Sandbox Code Playgroud)

我想要一个选择:

A1 B1 1
A3 B3 3 
A3 B3 3
A3 B3 3
A4 B4 1
Run Code Online (Sandbox Code Playgroud)

Col3给出行返回的数量.

sql sql-server sql-server-2014

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