Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么';建立这本词典的最佳方式是什么?_Python_Dictionary_Performance - Fatal编程技术网

Python 什么';建立这本词典的最佳方式是什么?

Python 什么';建立这本词典的最佳方式是什么?,python,dictionary,performance,Python,Dictionary,Performance,我想创建一个字典,这样QWERTY键盘第一行中的字母值为1,主行中的键值为0,底行中的键值为2 我只想写一行,但我想不出一个方法 我知道第一行就可以了,但是有没有办法把所有的行放在一行中呢 firstRow = {i:1 for i in "q w e r t y u i o p".split(' ')} 编辑,我想到了这个: keyboardRating = dict({i:1 for i in "q w e r t y u i o p".split(' ')}.items() + {i:0

我想创建一个字典,这样QWERTY键盘第一行中的字母值为1,主行中的键值为0,底行中的键值为2

我只想写一行,但我想不出一个方法

我知道第一行就可以了,但是有没有办法把所有的行放在一行中呢

firstRow = {i:1 for i in "q w e r t y u i o p".split(' ')}
编辑,我想到了这个:

keyboardRating = dict({i:1 for i in "q w e r t y u i o p".split(' ')}.items() + {i:0 for i in "a s d f g h j k l".split(' ')}.items() + {i:2 for i in "z x c v b n m".split(' ')}.items())

但是我正在寻找更简单的方法。

好吧,首先,有一个巧妙的技巧可以获得第一行的

firstRow = dict.fromkeys('qwertyuiop', 1)
那我们就可以写了

keys = {}
keys.update(dict.fromkeys('qwertyuiop', 1))
keys.update(dict.fromkeys('asdfghjkl', 2))
keys.update(dict.fromkeys('zxcvbnm,', 3))
或者,您可以尝试以下方法:

rows = {1: 'qwertyuiop', 0: 'asdfghjkl;', 2: 'zxcvbnm,.'}
keys = {c:k for k,row in rows.iteritems() for c in row}

由于涉及大量静态数据,我不建议尝试将其全部放在一行上。

首先,有一个简单的技巧可以获取第一行的

firstRow = dict.fromkeys('qwertyuiop', 1)
那我们就可以写了

keys = {}
keys.update(dict.fromkeys('qwertyuiop', 1))
keys.update(dict.fromkeys('asdfghjkl', 2))
keys.update(dict.fromkeys('zxcvbnm,', 3))
或者,您可以尝试以下方法:

rows = {1: 'qwertyuiop', 0: 'asdfghjkl;', 2: 'zxcvbnm,.'}
keys = {c:k for k,row in rows.iteritems() for c in row}
由于涉及到大量静态数据,我不建议尝试将其全部放在一行。

{c:1 for c in“qwertyuiop”}
越短越简单。
{c:1 for c in“qwertyuiop”}
越短越简单。