相关疑难解决方法(0)

如何在Python中初始化空列表字典?

我尝试以编程方式创建列表字典是不允许我单独地解决字典键.每当我创建列表字典并尝试附加到一个键时,所有这些都会更新.这是一个非常简单的测试用例:

data = {}
data = data.fromkeys(range(2),[])
data[1].append('hello')
print data
Run Code Online (Sandbox Code Playgroud)

实际结果: {0: ['hello'], 1: ['hello']}

预期结果: {0: [], 1: ['hello']}

这是有效的

data = {0:[],1:[]}
data[1].append('hello')
print data
Run Code Online (Sandbox Code Playgroud)

实际和预期结果: {0: [], 1: ['hello']}

为什么fromkeys方法不能按预期工作?

python dictionary list

77
推荐指数
3
解决办法
10万
查看次数

Pythonic方法从列表中创建独立列表?

(我在这个网站上搜索+互联网,但找不到答案)

我从以下开始:

myList = ['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

我想得到一些pythonic相当于的东西

a = []
b = []
c = []
Run Code Online (Sandbox Code Playgroud)

要么

a, b, c = ([] for i in range(3))
Run Code Online (Sandbox Code Playgroud)

那就是我想创建与原始列表中的元素一样多的列表,并使用(赋值?)原始列表中的元素作为创建列表的名称.

请问有什么建议吗?

python list python-3.x python-3.4

3
推荐指数
3
解决办法
202
查看次数

为什么附加到字典中的列表有不同的结果?

Python 3.7.6(默认,2020 年 1 月 8 日,20:23:39)[MSC v.1916 64 位 (AMD64)]

my_list = ["a","b","c"]

dict_one = {key:[] for key in my_list}
print(dict_one)
{'a': [], 'b': [], 'c': []}

dict_two = dict.fromkeys(my_list, [])
print(dict_two)
{'a': [], 'b': [], 'c': []}

dict_one['a'].append('some_data')
dict_two['a'].append('some_data')

print(dict_one)
{'a': ['some_data'], 'b': [], 'c': []}

print(dict_two)
{'a': ['some_data'], 'b': ['some_data'], 'c': ['some_data']}
Run Code Online (Sandbox Code Playgroud)

我对 dict_one 和 dict_two 期望相同的结果。谁能解释一下区别?

python dictionary list append

-1
推荐指数
1
解决办法
63
查看次数

标签 统计

list ×3

python ×3

dictionary ×2

append ×1

python-3.4 ×1

python-3.x ×1