我有一个问题是在动态元组列表中获得最高值.
List可能如下所示:
adymlist = [[('name1',1)],[('name2',2),('name3',1), ...('name10', 20)], ...,[('name m',int),..]]
Run Code Online (Sandbox Code Playgroud)
现在我遍历List以获得最高值(整数):
total = {}
y=0
while y < len(adymlist):
if len(adymlist) == 1:
#has the List only 1 Element -> save it in total
total[adymlist[y][0][0]] = adymlist[y][0][1]
y += 1
else:
# here is the problem
# iterate through each lists to get the highest Value
# and you dont know how long this list can be
# safe the highest Value in total f.e. total = {'name1':1,'name10':20, ..}
Run Code Online (Sandbox Code Playgroud)
我尝试了很多以获得最大值,但我发现我的问题没有结论.我知道我必须遍历列表中的每个元组并将其与下一个元组进行比较,但它不知道如何正确编码.
我也可以使用该函数, …
我记得我曾经见过一个能够在python中分解列表的运算符.
例如
[[1],[2],[3]]
Run Code Online (Sandbox Code Playgroud)
通过应用该运营商,你得到
[1], [2], [3]
Run Code Online (Sandbox Code Playgroud)
什么是该运营商,任何帮助将不胜感激.
我怎样才能转换:
THIS = \
['logging',
['logging', 'loggers',
['logging', 'loggers', 'MYAPP',
['logging', 'loggers', 'MYAPP', '-handlers'],
['logging', 'loggers', 'MYAPP', 'propagate']
]
],
['logging', 'version']
]
Run Code Online (Sandbox Code Playgroud)
成:
THAT = [
['logging'],
['logging', 'version'],
['logging', 'loggers'],
['logging', 'loggers', 'MYAPP'],
['logging', 'loggers', 'MYAPP', '-handlers'],
['logging', 'loggers', 'MYAPP', 'propagate']
]
Run Code Online (Sandbox Code Playgroud)
在python中(它不需要排序,只是扁平化)?
我已经尝试了很多东西但是找不到如何解决这个问题.
假设我有一个包含一个或多个元组的列表:
[0, 2, (1, 2), 5, 2, (3, 5)]
Run Code Online (Sandbox Code Playgroud)
什么是摆脱元组的最佳方法,以便它只是一个int列表?
[0, 2, 1, 2, 5, 2, 3, 5]
Run Code Online (Sandbox Code Playgroud) 我有
list = [a, b, c, d]
Run Code Online (Sandbox Code Playgroud)
和
numbers = [2, 4, 3, 1]
Run Code Online (Sandbox Code Playgroud)
我想得到一个类型列表:
new_list = [a, a, b, b, b, b, c, c, c, d]
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止:
new_list=[]
for i in numbers:
for x in list:
for i in range(1,i+1):
new_list.append(x)
Run Code Online (Sandbox Code Playgroud) 我在我正在处理的模块中找到了这段代码:
l = opaque_function()
thingys = [x for y in l for x in y]
Run Code Online (Sandbox Code Playgroud)
我看不懂这个.通过实验,我能够确定它是否展平了2级嵌套列表,但是syntex对我来说仍然是不透明的.它显然省略了一些可选括号.
>>> l = [[1,2],[3,4]]
>>> [x for y in l for x in y]
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
我的眼睛想要将它解析为:[x for y in [l for x in y] ]或者[ [x for y in l] for x in y ],但是由于y没有被定义,两者都失败了.
我该怎么读这个?
(我怀疑在解释这个问题时我会感到非常尴尬.)
我目前正在:
y=[[ 0.16666667]
[-0.16666667]
[ 0.16666667]]
Run Code Online (Sandbox Code Playgroud)
这来自我正在使用的功能,我需要将上面的内容转换为以下格式的列表:
x= [0.16666667,-0.16666667,0.16666667]
Run Code Online (Sandbox Code Playgroud)
我尝试了列表(y),但这不起作用,因为它返回:
[array([ 0.16666667]), array([-0.16666667]), array([ 0.16666667])]
Run Code Online (Sandbox Code Playgroud)
我到底怎么做?
我有以下值列表列表,我想在所有值中找到最小值.
Q = [[8.85008011807927, 4.129896248976861, 5.556804136197901],
[8.047707185696948, 7.140707521433818, 7.150610818529693],
[7.5326340018228555, 7.065307672838521, 6.862894377422498]]
Run Code Online (Sandbox Code Playgroud)
我打算做以下事情:
min(min(Q))
Run Code Online (Sandbox Code Playgroud)
我在一个较小的例子上尝试了这种方法,它可以工作:
>>>b = [[2,2],[1,9]]
>>>min(b)
[1, 9]
>>>min(min(b))
1
Run Code Online (Sandbox Code Playgroud)
但是在原始列表Q上使用它会返回错误的结果:
>>> min(Q)
[7.5326340018228555, 7.065307672838521, 6.862894377422498]
>>> min(min(Q))
6.862894377422498
Run Code Online (Sandbox Code Playgroud)
为什么这种方法错了,为什么?
我已经通过查找两个列表的交集?,的两个列表字符串路口,获取两个列表的交集的蟒蛇。但是,我无法解决使用 Python 查找两个字符串列表之间的交集的问题。
我有两个变量。
A = [['11@N3'], ['23@N0'], ['62@N0'], ['99@N0'], ['47@N7']]
B = [['23@N0'], ['12@N1']]
Run Code Online (Sandbox Code Playgroud)
如何找到 '23@N0' 是 A 和 B 的一部分?
我尝试使用http://www.saltycrane.com/blog/2008/01/how-to-find-intersection-and-union-of/ 中提到的 intersect(a,b) 但是,当我尝试转换 A进入集合,它抛出一个错误:
File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)
要将其转换为集合,我使用了TypeError: unhashable type: 'list' when using built-in set function中的方法,其中列表可以使用转换
result = sorted(set(map(tuple, A)), reverse=True)
Run Code Online (Sandbox Code Playgroud)
成元组,然后元组可以转换成一个集合。但是,这会返回一个空集作为交集。
你能帮我找到路口吗?
给出以下元组列表:
INPUT = [(1,2),(1,),(1,2,3)]
Run Code Online (Sandbox Code Playgroud)
我怎么把它压成一个列表?
OUTPUT ==> [1,2,1,1,2,3]
Run Code Online (Sandbox Code Playgroud)
上面有一个单行班吗?