dict.keys()的疑惑....
python吧
全部回复
仅看楼主
level 11
喵喵陳
楼主
keys倒是全出來了,可是不能用來求value也不能當str用來dict[keys]求values
<class 'dict_keys'>這玩意到底有甚麼用?
------題外話------
ps:
for x in dict:x全是已轉成str的keys,我是
a=[]
for x in dict:
a.append(x)就搞定了...網上教用str...然後dict_keys([一堆keys])成了一串str了,請慢慢切....
2024年02月04日 06点02分
1
level 6
rickcheungcom
dict.keys()他导出的是字典的键的集合,是一个动态的视图。只是键。没有值。
2024年02月04日 08点02分
2
level 6
就麻麻圆
他是一个迭代器,用for循环来循环读出里面的值
2024年02月04日 08点02分
3
喵喵陳
可是用keys()讀出來的值只給看不給用,例如我讀了dict的存檔想導到程式中(只把存檔中有的複蓋過去),所以我是不明白keys有甚麼用....
2024年02月04日 12点02分
就麻麻圆
@喵喵陳
因为他只是一个迭代器,方法keys返回的不是列表
2024年02月04日 12点02分
level 5
艾瑞一号
本来就是把key都倒出来,这是dict的主要参数。if key in dict,就是把这个key和这个keys比较
求value的情况,就是遍历一遍key就行了,但是实际情况如果你需要老用到这个,不如说你数据格式的选型错了
,应该用两个list来存
2024年02月04日 14点02分
4
艾瑞一号
额,说的有问题,应该是说dict里面拥有的keys是常被读取的,它不是参数
2024年02月04日 14点02分
艾瑞一号
只是遍历
2024年02月04日 14点02分
喵喵陳
倒不會常用......就是load時用一次防止存檔跟程式有版本差dict的數量不一樣而已,還有測試時save也比對一次防自己在dict加了點要save的,save沒寫...
2024年02月04日 23点02分
level 12
hitzsf
返回 key 的集合
python 真的很少会用到这个,但是其他语言会用到
属于 map 的常见接口
2024年02月04日 15点02分
5
level 10
注冊什么ID好呢
外面套个list你打印就直观了 list(dict.keys()) ,生成器的好处是大量数据时节省资源,刚开始外面套list就行,这个方法很常用。
2024年02月05日 00点02分
6
level 1
叫你光盘没叫你光盘
可以理解为dict.keys()包含了dict的所有key,所以不能直接dict(keys),但是可以
for key in dict.keys() :
dict[key]
2024年02月05日 11点02分
7
喵喵陳
那個
我題外話也是這招...
2024年02月05日 11点02分
叫你光盘没叫你光盘
@喵喵陳
这种一般初学者会这样写,熟悉之后就 for key in dict : 了。可能dict.keys()唯一的作用就是拿到dict的全部key。
2024年02月05日 11点02分
喵喵陳
@叫你光盘没叫你光盘
所以我就是吐槽為什麼dict.keys()不能直接得到[keys]還要for keys in dict...明明dict.keys()都出了keys in dict([key list])的喵!還有,dict.keys()只是給你「看」全部keys,半個都「拿」不到....
2024年02月05日 12点02分
喵喵陳
@叫你光盘没叫你光盘
所以我就是吐槽為什麼dict.keys()不能直接得到[keys]還要for keys in dict...明明dict.keys()都出了keys in dict([key list])的喵!還有,dict.keys()只是給你「看」全部keys,半個都「拿」不到....
2024年02月05日 12点02分
level 1
蘿蔔特酸
for k in dict 本质就是 for k in dict.keys() ,都是调用的 iter(dict.keys())
2024年02月05日 12点02分
8
level 1
麻花藤😘
用item方法返回一个迭代器,迭代器返回字典键值对的元组,至于要不要解包就看你的需求喽
2024年02月05日 15点02分
9
麻花藤😘
方法名应该是items,然后如果只需要求值的话还有values方法可以只返回值。 字典本来就是键值对的集合,key就是键,value才是值
2024年02月05日 15点02分
level 4
贴吧用户_aA8S3S4
迭代器
2024年02月16日 06点02分
10
level 7
小柿饼
直接用list()转换一下不就行了
2024年02月16日 09点02分
11
喵喵陳
謝謝,以後就知道了...
2024年02月16日 14点02分
喵喵陳
謝謝,以後就知道了...
2024年02月16日 14点02分
1