python - 如何从仅包含键列表和键值对的列表创建字典(Python)?

标签 python string list dictionary

这是这个问题的扩展:How to split a string within a list to create key-value pairs in Python

与上述问题不同的是,我列表中的项目并不都是键值对;有些项目需要分配一个值。

我有一个列表:

list = ['abc=ddd', 'ef', 'ghj', 'jkl=yui', 'rty']

我想创建一个字典:

dict = { 'abc':'ddd', 'ef':1, 'ghj':1, 'jkl':'yui', 'rty':1 }

我的思路是这样的:

a = {}
for item in list:
   if '=' in item: 
     d = item.split('=')
     a.append(d) #I don't I can do this.
   else:
     a[item] = 1 #feel like I'm missing something here.

最佳答案

对于每个拆分“对”,您可以附加 [1] 并提取前 2 个元素。这样,当没有值时将使用 1:

print dict((s.split('=')+[1])[:2] for s in l)

关于python - 如何从仅包含键列表和键值对的列表创建字典(Python)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37705101/

相关文章:

python - 使用 pandas.Series.str.get : what is the correct way?

java - 带有 println 的池中的字符串计数

Python:将值合并到列表中以获得唯一键

jquery - 增量列表项类

python - 如何在xlsxwriter中设置列宽并同时使用自动过滤功能?

python - PyQt4 使用 __init__ 的不同方式

python - str 对象在插入 SQLite 数据库时不可调用

java - Java 中的连接正则表达式匹配标记

java - Java 中的 map 和列表

python - 向后多行重定位文件(python)