Ale*_*xio 3 python dictionary list python-2.7
我有一个列表my_list = ['a', 'b', 'c', 'd'],我需要创建一个看起来像的字典
{ 'a': ['a', 'b', 'c', 'd'],
'b': ['b', 'a', 'c', 'd'],
'c': ['c', 'a', 'b', 'd'],
'd': ['d', 'a', 'b', 'c'] }
Run Code Online (Sandbox Code Playgroud)
每个元素作为其值是列表,但第一个元素本身.
这是我的代码
my_list = ['1', '2', '3', '4']
my_dict=dict()
for x in my_list:
n = my_lst[:]
n.remove(x)
n= [x] + n[:]
my_dict[x] = n
print my_dict
Run Code Online (Sandbox Code Playgroud)
这使
{'1': ['1', '2', '3', '4'],
'3': ['3', '1', '2', '4'],
'2': ['2', '1', '3', '4'],
'4': ['4', '1', '2', '3']}
Run Code Online (Sandbox Code Playgroud)
按要求.但我认为这不是最佳的做法.任何优化的帮助将不胜感激.
>>> seq
['a', 'b', 'c', 'd']
>>> {e: [e]+[i for i in seq if i != e] for e in seq}
{'a': ['a', 'b', 'c', 'd'],
'b': ['b', 'a', 'c', 'd'],
'c': ['c', 'a', 'b', 'd'],
'd': ['d', 'a', 'b', 'c']}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |