标签: list-comprehension

获取列表中所有数字之间的平均差(python)

我有一个列表,我想了解其中所有数字之间的差异。从算法上来说,似乎我应该取列表中每个项目彼此相减的绝对值,然后找到减法总和的平均值。不用担心绝对值部分。这仅与我的应用程序相关。

例如:

list_a = [1,2,3,4]

list_a0 = (abs(1-2) + abs(1-3) + abs(1-4))/3 = 1+2+3 = 2
list_a1 = (abs(2-1) + abs(2-3) + abs(2-4))/3 = 1+1+2 = 1.33
list_a2 = (abs(3-1) + abs(3-2) + abs(3-4))/3 = 2+1+1 = 1.33
list_a3 = (abs(4-1) + abs(4-2) + abs(4-3))/3 = 3+2+1 = 2
avg = (lista0 + lista1 + lista2 + lista3)/4 = 1.67
Run Code Online (Sandbox Code Playgroud)

我对 python 比较陌生。有人能够提供有关如何循环执行list_a此操作的提示吗?

python list-comprehension

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

如何在列表中解压缩列表并附加到python中的字符串?

我创建了一个列表结构:

data = [
[['name', 'date', 3] , 'text text text text'],
[['name', 'date', 5] , 'text text text text'],
[['name', 'date', 7] , 'text text text text'],
[['name', 'date', 8] , 'text text text text']
]
Run Code Online (Sandbox Code Playgroud)

我希望它只是这样:

data = [
['name', 'date', 3 , 'text text text text'],
['name', 'date', 5 , 'text text text text'],
['name', 'date', 7 , 'text text text text'],
['name', 'date', 8 , 'text text text text']
]
Run Code Online (Sandbox Code Playgroud)

我需要解开第一个元素。

这是代码,但我希望它使用列表理解来完成:

final_res = list()
for …
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

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

Python列表理解:Squaring赔率lambda

列表理解通常用于过滤和转换列表.

给定变量nums,其值是整数列表,写一个赋值语句,为变量square_odds分配列表nums中奇数的平方列表.

您必须使用列表理解

这是我到目前为止,但我得到一个错误代码:

nums = [square_odds**2 for square_odds in nums if square_odds %2 != 0]
Run Code Online (Sandbox Code Playgroud)

我收到此错误代码:您尚未分配到square_odds.

python list-comprehension list

-4
推荐指数
1
解决办法
727
查看次数

返回另一个列表中特定索引列表的列表值

我有一个具有特定指数的清单

list1 = [0,3,5]
Run Code Online (Sandbox Code Playgroud)

和另一个清单.

list2 = ['a','b','c','d','e','f']
Run Code Online (Sandbox Code Playgroud)

我想要一个单行代码来返回list1中提到的索引的list2项.

output = ['a','d','f']
Run Code Online (Sandbox Code Playgroud)

我知道它可能来自带有/不带lambda函数的综合for循环.

我尝试的尝试类似于下面的内容

[x for x in list2[y] if y in list1]
[m for m in list2 for f in list1]
[for x in i: list2[x]]
Run Code Online (Sandbox Code Playgroud)

这些尝试都没有给我预期的结果.

请让我知道如何实现这一目标!

python list-comprehension list python-3.x

-4
推荐指数
1
解决办法
98
查看次数

在python中增加一个列表

我正在读一个csv文件,作为回报我得到一组网址,我把它保存到列表中

urls.append(url)
Run Code Online (Sandbox Code Playgroud)

然后我做一个while循环来解析每个url以获取每个url的html内容

    i=len(urls)
    while(i<len(urls)):
        url1=urls[i]
        print url1
        mech1 = Browser()
        mech1.set_handle_robots(False)
        mech1.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
        page = mech1.open(url1)

        html = page.read()
        soup = BeautifulSoup(html)
        ++i
Run Code Online (Sandbox Code Playgroud)

当我打印url1时,它会多次打印第一个url,我想从列表中打印每个url

python list-comprehension list python-2.7

-5
推荐指数
1
解决办法
1788
查看次数

如果满足条件,则列表理解以更新值

我有以下列表和变量 i:

probs = [1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9]
i = 3
Run Code Online (Sandbox Code Playgroud)

我想将变量 i 中给出的索引的列表中的值更改为 3/9,并将其余值更改为 8/9。因此,上述条件的预期结果将是:

probs = [8/9, 8/9, 8/9, 3/9, 8/9, 8/9, 8/9, 8/9, 8/9]
Run Code Online (Sandbox Code Playgroud)

我更喜欢用列表理解来提高效率,有什么想法吗?

python indexing list-comprehension list

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

list comprehension不返回空列表

我试图找到相关的问题但却找不到创建一个新的问题.我的程序根据简单的if条件在python中使用list comprehension创建一个新列表.

  Newone = [ temp for temp in Oldone if temp % 2 != 0 ]
Run Code Online (Sandbox Code Playgroud)

它工作正常但在某些情况下它不起作用.例如这一个

 Oldone = [1]
 Newone = [ temp for temp in Oldone if temp % 2 != 0 ]
Run Code Online (Sandbox Code Playgroud)

这返回[1],但我期待Newone成为[]

python list-comprehension list conditional-statements

-7
推荐指数
1
解决办法
326
查看次数