python的数据类型有:字符串、整型、列表、元组、字典、布尔型等等。数据类型是编程语言必备的属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算。
现有字典 d= {‘a’:24,’g’:52,’i’:12,’k’:33}请按value值进行排序?
1 2 3 4 5 6 7 8 9
| d= {'a':24,'g':52,'i':12,'k':33}
list_tuple = sorted(d.items(), key =lambda item:item[1]) results = {}
for item in list_tuple: results[item[0]] = item[1] print(results)
|
{'i': 12, 'a': 24, 'k': 33, 'g': 52}
1 2 3 4 5 6 7 8 9
| d= {'a':24,'g':52,'i':12,'k':33}
list_tuple = list(d.items())
list_tuple.sort(key=lambda item:item[1])
results = {key:value for key, value in list_tuple} print(results)
|
{'i': 12, 'a': 24, 'k': 33, 'g': 52}
字典推导式
1
| d = {key:value for (key,value) in iterable}
|
请反转字符串 “aStr”?
'rtSa'
1 2
| "".join(list(reversed("aStr")))
|
'rtSa'
将字符串 “k:1|k1:2|k2:3|k3:4”,处理成字典 {k:1,k1:2,…}
1 2 3 4 5 6 7 8 9
| s = "k:1|k1:2|k2:3|k3:4"
s_list = s.split('|')
result_list = list(map(lambda item:item.split(':'), s_list))
result_dict = {k:int(v) for k,v in result_list} result_dict
|
{'k': 1, 'k1': 2, 'k2': 3, 'k3': 4}
1 2 3 4
| s = "k:1|k1:2|k2:3|k3:4" results = {k:int(v) for item in s.split('|') for k,v in [item.split(':'), ]} print(results)
|
{'k': 1, 'k1': 2, 'k2': 3, 'k3': 4}
1 2 3
| s = "k:1|k1:2|k2:3|k3:4" results = {item.split(':')[0]:int(item.split(':')[1]) for item in s.split('|')} print(results)
|
{'k': 1, 'k1': 2, 'k2': 3, 'k3': 4}
请按alist中元素的age由大到小排序
1 2 3 4
| alist = [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}] alist.sort(key=lambda item:item["age"], reverse=True) alist
|
[{'name': 'b', 'age': 30}, {'name': 'c', 'age': 25}, {'name': 'a', 'age': 20}]
1 2 3 4
| alist = [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}] results = list(sorted(alist, key=lambda item:item["age"], reverse=True)) results
|
[{'name': 'b', 'age': 30}, {'name': 'c', 'age': 25}, {'name': 'a', 'age': 20}]
下面代码的输出结果将是什么?
1 2
| lis1 = ['a','b','c','d','e'] print(lis1[10:])
|
以上代码表示从第10个元素开始取,一直取到最后,但是list不足10个元素,所以最后取出来是一个空列表
1 2
| lis1 = ['a','b','c','d','e'] print(lis1[10:])
|
[]
写一个列表生成式,产生一个公差为11的等差数列
1 2 3 4
| g_list = (item for item in range(0, 100, 11)) for i in g_list: print(i)
|
0
11
22
33
44
55
66
77
88
99
1 2 3 4
| g_list = (item*11 for item in range(10)) for i in g_list: print(i)
|
0
11
22
33
44
55
66
77
88
99
给定两个列表,怎么找出他们相同的元素和不同的元素?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| lis1 = [1,2,3] lis2 = [3,4,5]
set1 = set(lis1) set2 = set(lis2)
print(set1.union(set2))
print(set1.symmetric_difference(set2))
print(set1 ^ set2)
print(set1.difference(set2))
print(set2.difference(set1))
print(set1.intersection(set2))
set1 & set2
|
{1, 2, 3, 4, 5}
{1, 2, 4, 5}
{1, 2, 4, 5}
{1, 2}
{4, 5}
{3}
{3}
请写出一段python代码实现删除list里面的重复元素?
1
| l1 = ['b','c','d','c','a','a']
|
1 2 3
| l1 = ['b','c','d','c','a','a'] set(l1)
|
{'a', 'b', 'c', 'd'}
1 2 3
| results = dict.fromkeys(l1).keys() print(results)
|
dict_keys(['b', 'c', 'd', 'a'])
1 2 3 4 5 6 7 8
| l1 = ['b','c','d','c','a','a'] results = [] for i in l1: if i not in results: results.append(i) results
|
['b', 'c', 'd', 'a']