本文中使用的Python版本为3.x。
合并两个列表
方法一
a = [1, 2, 3]
b = [4, 5, 6]
print(a + b)
print(a)
print(b)
输出结果为:
[1,2,3,4,5,6]
[1,2,3]
[4,5,6]
说明:“a+b”后,a和b都没有变化。
方法二
a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a)
print(b)
输出结果为:
[1,2,3,4,5,6]
[4,5,6]
说明:“a.extend(b)”后,a有变化,b无变化。
两个列表的差集、并集和交集
两个列表的差集
方法一
a_list = [{'a' : 1}, {'b' : 2}, {'c' : 3}, {'d' : 4}, {'e' : 5}]
b_list = [{'a' : 1}, {'b' : 2}]
ret_list = []
for item in a_list:
if item not in b_list:
ret_list.append(item)
for item in b_list:
if item not in a_list:
ret_list.append(item)
print(ret_list)
输出结果:
[{'c': 3}, {'d': 4}, {'e': 5}]
方法二
a_list = [{'a' : 1}, {'b' : 2}, {'c' : 3}, {'d' : 4}, {'e' : 5}]
b_list = [{'a' : 1}, {'b' : 2}]
ret_list = [item for item in a_list if item not in b_list] + [item for item in b_list if item not in a_list]
print(ret_list)
输出结果:
[{'c': 3}, {'d': 4}, {'e': 5}]
方法三
a_list = [1, 2, 3, 4, 5]
b_list = [1, 4, 5]
ret_list = list(set(a_list)^set(b_list))
print(ret_list)
输出结果:
[2, 3]
注:此方法中,两个list中的元素不能为字典
两个列表的并集
a_list = [1, 2, 3, 4, 5]
b_list = [1, 4, 5]
ret_list = list(set(a_list).union(set(b_list)))
print(ret_list)
输出结果:
[1,2,3,4,5]
注:此方法中,两个list中的元素不能为字典
两个列表的交集
a_list = [1, 2, 3, 4, 5]
b_list = [1, 4, 5]
ret_list = list((set(a_list).union(set(b_list)))^(set(a_list)^set(b_list)))
print(ret_list)
输出结果:
[1,4,5]
``
注:此方法中,两个list中的元素不能为字典
##字典转换为列表
说明:字典可转换为列表,但列表不可以转换为字典。
###转换后的列表为无序列表
```Python
a = {'e' : 1, 'b': 7, 'c' : 3}
#字典中的key转换为列表
key_value = list(a.keys())
print('字典中的key转换为列表:', key_value)
#字典中的value转换为列表
value_list = list(a.values())
print('字典中的value转换为列表:', value_list)
输出结果:
字典中的key转换为列表: ['c', 'b', 'e']
字典中的value转换为列表: [3, 7, 1]
转换后的列表为有序列表
import collections
z = collections.OrderedDict()
z['b'] = 2
z['a'] = 1
z['c'] = 3
z['r'] = 5
z['j'] = 4
#字典中的key转换为列表
key_value = list(z.keys())
print('字典中的key转换为列表:', key_value)
#字典中的value转换为列表
value_list = list(z.values())
print('字典中的value转换为列表:', value_list)
输出结果:
字典中的key转换为列表:['b','a','c','r',''j]
字典中的value转换为列表:[2,1,3,5,4]
字典与字符串的互转
字典转换为字符串
a = {'a' : 1, 'b' : 2, 'c' : 3}
b = str(a)
print(b)
print(type(b))
输出结果:
{'a': 1, 'c': 3, 'b': 2}
<type 'str'>
字符串转化为字典
a = "{'a' : 1, 'b' : 2, 'c' : 3}"
b = eval(a)
print(b)
print(type(b))
输出结果:
{'a': 1, 'c': 3, 'b': 2}
<type 'dict'>