Sid*_*Sid 6 python dictionary if-statement
这似乎是一种非常常见的模式:
for row in reader:
c1=row[0]
if ids.has_key(c1):
id1=ids.get(c1)
else:
currid+=1
id1=currid
ids[c1]=currid
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更好的方法来实现这一目标.至于单行if语句,我可以这么做:
id1=ids.get(c1) if ids.has_key(c1) else currid+1
Run Code Online (Sandbox Code Playgroud)
但是,如果if情况被执行并且如果if条件通过则将c-> id1粘贴到字典中,那么我就会坚持使用currid和sticking.
如果id从0开始:
for row in reader:
id1 = ids.setdefault(row[0], len(ids))
Run Code Online (Sandbox Code Playgroud)
(旁白:has_key被视为已弃用.请使用x in d而不是d.has_key(x).)
| 归档时间: |
|
| 查看次数: |
248 次 |
| 最近记录: |