0
a = 1
b = 2
我想插入A:B到一个空白的Python列表如何将一个键值对插入python列表中?
list = []
为
a:b
究竟是什么的正确语法,导致
[(a:b), (c:d)]
?
这只是这样我就可以在列表中值从最小到最大再整理
a = 1
b = 2
我想插入A:B到一个空白的Python列表如何将一个键值对插入python列表中?
list = []
为
a:b
究竟是什么的正确语法,导致
[(a:b), (c:d)]
?
这只是这样我就可以在列表中值从最小到最大再整理
让我们假设你的数据是这样的:
a: 15
c: 10
b: 2
有几种方式可以让您的数据进行排序。如果数据存储为元组的列表
data = {
'a': 15,
'c': 10,
'b': 2,
}
# Sort by key:
print [v for (k, v) in sorted(data.iteritems())]
# Output: [15, 2, 10]
# Keys, sorted by value:
from operator import itemgetter
print [k for (k, v) in sorted(data.iteritems(), key = itemgetter(1))]
# Output: ['b', 'c', 'a']
:
data = [
('a', 15),
('c', 10),
('b', 2),
]
data.sort() # Sorts the list in-place
print data
# Output: [('a', 15), ('b', 2), ('c', 10)]
print [x[1] for x in data]
# Output [15, 2, 10]
# Sort by value:
from operator import itemgetter
data = sorted(data, key = itemgetter(1))
print data
# Output [('b', 2), ('c', 10), ('a', 15)]
print [x[1] for x in data]
# Output [2, 10, 15]
怎样才能插入一个关键值对到一个Python列表?
你不能。你可以做的是“模仿”这种通过附加2个元素的元组的列表:
a = 1
b = 2
some_list = []
some_list.append((a, b))
some_list.append((3, 4))
print some_list
>>> [(1, 2), (3, 4)]
但正确的/最好的办法是使用字典:
some_dict = {}
some_dict[a] = b
some_dict[3] = 4
print some_dict
>>> {1: 2, 3: 4}
注:
list
,因为它会隐藏其内置的实现。将它命名为别的东西,像some_list
,L
,...
没有“键值对”作为作为字典此键/值数据是最好的存储,像这样一般的东西在Python中。你为什么用列表而不是字典?字典包含键值对,但有一个键值对,这不是在字典中没有内置的概念。 – BrenBarn
请向我们展示预期的输出。 – thefourtheye
你想使用键来查询列表吗?如果是这样,请使用@BrenBarn建议的字典。否则,你可以在2元组添加到列表中,如果你只是想保存 “项目配对”:'my_list = [( 'A', 'B'),( 'C', 'd')]' –