相关疑难解决方法(0)

将嵌套列表拆分为两个列表

我有一个这样的嵌套列表:

    my_list = [[1320120000000, 48596281], [1320206400000, 48596281], [1320292800000, 50447908]]
Run Code Online (Sandbox Code Playgroud)

我想把它拆分成这样的东西:

    my_list1 = [48596281, 48596281, 50447908] 
    my_list2 = [1320120000000, 1320206400000, 1320292800000]    
Run Code Online (Sandbox Code Playgroud)

我知道这很简单,但我无法让它发挥作用.任何帮助将非常感激.

python split nested list

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

如何解压缩迭代器?

给定一对对列表xys,将其解压缩为两个列表的Python成语是:

xs, ys = zip(*xys)
Run Code Online (Sandbox Code Playgroud)

如果xys是迭代器,我如何将其解压缩为两个迭代器,而不将所有内容存储在内存中?

python iterator generator python-itertools

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

如何将2元组列表拆分为两个列表?

我列出了许多2元组.我想将列表拆分为两个列表,一个列表包含列表中所有元组的第一个元素,另一个列表包含所有元组的第二个元素.我想知道如何有效地做到这一点?谢谢!

例如,我有一个列表y:

>>> y = [('ab',1), ('cd', 2), ('ef', 3) ]
>>> type(y)
<type 'list'>
Run Code Online (Sandbox Code Playgroud)

我希望能得到两个列表['ab', 'cd', 'ef'][1, 2, 3].

python list

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

如何使用matplotlib绘制元组列表?

我有一个元组是(元组的列表minTemp,averageTemp,maxTemp).我想在同一个matplotlib图上绘制元组中每个元素的折线图.

如何才能做到这一点?

python tuples list matplotlib

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

Python:为什么使用zip(*)代替unzip()?

鉴于python禅,为什么zip(*)用于解压而不是一些名为unzip()的函数?例如Transpose/Unzip Function(zip的反转)?显示如何解压缩列表.

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

怎么样:

  • 比丑陋美丽
  • 明确而非隐含
  • 比复杂简单
  • 可读
  • 等等

然后

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

我在这里错过了什么?

python python-2.x python-3.x

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

python 多个列表的组合

有没有任何Pythonic方法来生成多个列表之间的组合?(类似于笛卡尔积但更复杂)

例子:

a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
# ...
# there are more than 3 lists
Run Code Online (Sandbox Code Playgroud)

预期输出:

1. [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
2. [(1, 4, 8), (2, 5, 7), (3, 6, 9)]
3. [(1, 4, 9), (2, 5, 7), (3, 6, 8)]
4. [(1, 5, 7), (2, 4, 8), (3, 6, 9)]
5. ...
Run Code Online (Sandbox Code Playgroud)

更新:

谢谢你这么快的回复~!!

为了澄清这个问题:

结果是列表a、b、c的笛卡尔积的所有非重复组合。

可以通过另一种丑陋的方法来完成:

1)生成笛卡尔积的完整列表

from itertools import product, combinations, …
Run Code Online (Sandbox Code Playgroud)

python algorithm combinations python-itertools

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

python中重复坐标的Sum属性

我正在查看我的坐标数据,由于某些预处理,我看到一些具有不同参数的重复坐标.我希望能够合并对应于匹配坐标的属性,并获得简化的结果.澄清我的意思是一个例子:

X = [1.0, 2.0, 3.0, 2.0]
Y = [8.0, 3.0, 4.0, 3.0]
A = [13, 16, 20, 8]
Run Code Online (Sandbox Code Playgroud)

以上数据如下:点(1.0,8.0)的值为13,(2.0,3.0)的值为16.请注意,第二点和第四点具有相同的坐标但属性值不同.我希望能够从坐标列表中删除重复项并对属性求和,以便结果为新列表:

New_X = [1.0, 2.0, 3.0]
New_Y = [8.0, 3.0, 4.0]
New_A = [13, 24, 20]
Run Code Online (Sandbox Code Playgroud)

24是具有相同坐标的第二和第四点的16和8之和,因此保持一个点并将值相加.

我不知道如何做到这一点,我想到使用嵌套的坐标拉链循环,但我不知道如何制定它来总结属性.

任何帮助表示赞赏!

python list python-3.x

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

将序列列表有效地拆分为两个列表

可能重复:
Python中的转置/解压缩功能

我有一个序列列表,每个序列有两个项目.我想把它变成两个列表.

catalog = [('abc', '123'), ('foo', '456'), ('bar', '789'), ('test', '1337')]
Run Code Online (Sandbox Code Playgroud)

现在我只是这样做:

names = []
vals = []

for product in catalog:
        names.append(product[0])
        vals.append(product[1])

print (names)
print (vals)
Run Code Online (Sandbox Code Playgroud)

哪个输出两个列表,并且工作得很好:

['abc', 'foo', 'bar', 'test']
['123', '456', '789', '1337']
Run Code Online (Sandbox Code Playgroud)

有更整洁,更'pythonic'的方式吗?或者我应该坚持我拥有的东西?对编程风格的任何更正或反馈都是受欢迎的,我是新手,并试图学习最佳实践.

python python-3.x

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

大熊猫用大写字母排序

运行此代码:

df = pd.DataFrame(['ADc','Abc','AEc'],columns = ['Test'],index=[0,1,2])
df.sort(columns=['Test'],axis=0, ascending=False,inplace=True)
Run Code Online (Sandbox Code Playgroud)

返回有序的数据帧列:[Abc, AEc, ADc].ADc应该在AEc之前,发生了什么?

sorting pandas

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

在列表字典的每个索引处查找最小值和最大值

我有一个字典有以下结构

{key1: [1,2,3,4,5], key2: [2,0,4,5,6]}
Run Code Online (Sandbox Code Playgroud)

我需要找到值列表的每个索引的最大值和最小值,因此在索引0处,我们比较1 and 2并选择2最大值和1最小值等.

我的例子的预期输出:

min = [1,0,3,4,5]
max = [2,2,4,5,6]
Run Code Online (Sandbox Code Playgroud)

我不能使用运算符,因为我不允许导入它.我尝试使用以下方法但失败(语法错误).此外,我不会迭代值集,因为不是优雅的方式(IMO).

maxVal = max(myDictionary.items(), key=(lambda k: myDictionary[k]))
Run Code Online (Sandbox Code Playgroud)

给我

TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)

你能纠正它还是建议任何替代方法.

python

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