标签: list-comprehension

"< - "在列表理解中意味着什么?

在这段代码中:

[x | temp <- str, x <- isVowel temp]
Run Code Online (Sandbox Code Playgroud)

我想知道是什么

  • <- 运营商
  • <- str 运营商

isVowel 如果其参数是元音,则返回true.

string haskell list-comprehension variable-assignment operator-keyword

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

python:如何使用列表推导实现嵌套for循环?

我的代码是

montly_ratio = [0.046644865594960915, 0.060708276768318435, 0.07706787106693493, 0.09332535512669753, 0.10693770921153412, 0.11542007554770539, 0.11681104031351618, 0.11013791562902592, 0.09588202154576116, 0.07644396803642538, 0.056608936984611016, 0.044011964174509026]
len = 12

production_by_yr = [12129.0, 24197.0, 36205.0, 48152.0, 60038.0, 71863.0, 83628.0, 95331.0, 106974.0, 118556.0, 130077.0, 141538.0, 152938.0, 164277.0, 175555.0, 186772.0, 197929.0, 209024.0]
len = 18
Run Code Online (Sandbox Code Playgroud)

我想要做

for yr in production_by_yr:
    for month in montly_ratio:
        print yr * month, 
Run Code Online (Sandbox Code Playgroud)

这将给我216个

我按照以下列表理解做了同样的事情:

[yr * month for yr in production_by_yr for month in montly_ratio]
Run Code Online (Sandbox Code Playgroud)

这给了我216个

565.7555748012809, 736.3306889229343, 934.7562081708537, 1131.9432323317144, 1297.0474750266974, 1399.9300963181188, 1416.8011079626376, 1335.8627786644554, …
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

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

Haskell定义列表和列表理解

早上好!

我试图定义一个列表,其中包含我之前定义的所有可能的地址类型,并使用列表理解来执行此操作.

以下是我对早期定义的看法,这些定义可能对您有所帮助:

data Row = A | B | C | D | E | F | G | H | I | J deriving (Enum, Ord, Show, Bounded, Eq, Read)
data Column = One | Two | Three | Four | Five | Six | Seven | Eight | Nine | Ten  deriving (Enum, Ord, Show, Bounded, Eq, Read)
data Address = Address Row Column deriving (Show, Read, Eq)
data Cell = Cell Address Bool deriving (Show, Read, …
Run Code Online (Sandbox Code Playgroud)

haskell list-comprehension list

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

使用列表推导从2 ^ 0到2 ^ 99找到2的幂

def lst_comp():
    list = []
    list = (2**i for i in range(100))
    print list
    return list
Run Code Online (Sandbox Code Playgroud)

我这样做时得到这个: <generator object <genexpr> at 0x00000000034C48B8>

python list-comprehension python-2.7

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

将我的生成器转换为生成器理解

函数式编程忍者的问题.这是我的发电机:

def get_interesting_line(file,*searches):
    with open(file,'r') as f:
        for line in f:
            if all(search in line for search in searches):
                yield line
Run Code Online (Sandbox Code Playgroud)

我怀疑这可能会变成一个生成器表达式.不过,当我尝试制作时,我的头往往会受伤.可能吗?

编辑:这是我的尝试,它没有工作(产生一个生成器对象):

def test(file, *searches):
    with open(file) as f:
        yield (line for line in f if all(search in line for search in searches))

lines = test('myfile')
next(lines)
Run Code Online (Sandbox Code Playgroud)

python list-comprehension python-3.x

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

Haskell的子集操作并没有给我所有结果,只显示了部分结果?

我学习LYAH,并从第1章的最后一个问题是要找到a,bc在那里(a,b,c)形成一个直角三角形,它们的总和为24 a,b,c都是Int秒.

所以我有下面的代码(本书不一样).

Prelude> [(a,b,c)|c<-[1..10],b<-[1..10],a<-[1..10],a^2+b^2==c^2,a+b+c==24]
[(8,6,10),(6,8,10)]
Run Code Online (Sandbox Code Playgroud)

我希望能得到所有可能的组合

[(8,6,10),(6,8,10),(8,10,6),(6,10,8),(10,6,8),(10,8,6)]
Run Code Online (Sandbox Code Playgroud)

为什么只显示部分内容?我尝试了不同版本的ghci,但结果相同.谢谢.

haskell list-comprehension filter

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

转换为理解

我有一个while循环,产生1-10,10倍的数字:

n=0
while n < 11:
    n=n+1
    num = random.randint(1,10)
    print(num)
Run Code Online (Sandbox Code Playgroud)

我想在单个语句中将其转换为python3理解.

我怎么能这样做?

python list-comprehension python-3.x

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

使用列表推导创建具有重复值的列表

说列表a = [4, 8, 5, 7, 7, 7, 7, 3, 2, 2, 2, 5, 3, 3, 3, 3, 3]有没有办法用列表理解创建这个列表?

a = [4,8,5,(4乘7),3,(3乘2),5,(5乘3)]

我知道如何只使用一个重复值,而不是三个和非重复值.

python list-comprehension

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

Python使用列表推导定义列表中的元素

我想知道是否可以通过列表理解来定义列表定义中的一系列元素.我希望通过以下方式实现这样的目标:

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

我试过这个:

result_list = ['a', 'b', [i for i in range(3)] 'c']
Run Code Online (Sandbox Code Playgroud)

但这会产生 ['a', 'b', [1, 2, 3], 'c']

或者,如果我尝试使用元组,我会得到一个像这样的生成器对象: ['a', 'b', <generator object <genexpr> at 0x0000000002C9A9E8>, 'c']

能以某种方式完成吗?谢谢!

python list-comprehension list

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

如何只从元组列表中获取我想要的元组?[哈斯克尔]

我试图以这种形式从整数列表中设置一个元组列表:(a,b)a < - [1..4]和b < - xs.但我不断得到声明的所有不同组合.

okTup :: [Int] -> [(Int,Int)]
okTup xs = [(i,j) | i <- [1..4], j <- xs]
Run Code Online (Sandbox Code Playgroud)

输入:okTup [3,1,4,2]

我得到的是:[(1,3),(1,1),(1,4),(1,2),(2,3),(2,1),(2,4),( 2,2),(3,3),(3,1),(3,4),(3,2),(4,3),(4,1),(4,4),(4, 2)]

但我只想这样:[(1,3),(2,1),(3,4),(4,2)]

haskell tuples list-comprehension

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