如何将列表列入字典?python新手

时间:2015-02-18 23:01:31

标签: python dictionary

如何制作像

这样的字符串列表
[['Tom', '3.5'], ['Bob', '3.9'], ['Ed', '2.7'], ...]

进入字典所以它只显示名字?

'Tom', 'Bob', 'Ed',

4 个答案:

答案 0 :(得分:1)

my_dict = dict(my_list_of_string_pairs)
print my_dict.keys()

或者如果你只想要列表中的名字

names,scores = zip(*my_list_of_string_pairs)

答案 1 :(得分:0)

不确定我是否帮助您,但是例如,如果您有名为li的列表,则可以使用

''.join(li)
  • 它从列表中创建字符串并在每个单词之后放置,除了最后一个单词之外,在''。
  • 之内的字符串。

但在您的情况下,如果您只想拥有名字,可以执行以下操作: 假设您的列表名为li

li2 = [li[i[0]] for i in range(len(li))]
print(li2)
  • 它会创建另一个名为li2的列表,在您的情况下只有名称,然后将其打印

答案 2 :(得分:0)

如果你想要一个名字字典:数字,你可以将你的列表传递给dict构造函数:

my_list = [['Tom', '3.5'], ['Bob', '3.9'], ['Ed', '2.7'], ...]
grades = dict(my_list)

现在grades.keys()是名称,grades.values()是数字,grades.items()是原始列表(尽管内部有元组而不是子列表)。请注意,原始列表中名称的顺序不会被保留。

如果你只想要原始列表中的名字,你可以用简单的列表理解来提取它们:

names = [name for name, number in my_list]

答案 3 :(得分:0)

在Python 3中使用列表理解:

my_list = [['Tom', '3.5'], ['Bob', '3.9'], ['Ed', '2.7']]
my_dict = {x[0]: x[1] for x in my_list}
print(my_dict.keys())