python学习-小知识总结1(字符串、列表、元组、字典转换遍历操作)
字符串:有序、可变、可重复
列表:有序、可变、可重复
元组:有序、不可变、可重复
字典:“3.6之后有序”、可变、key不重复
set集合:无序、可变、不重复(自动去重)
一、python关于列表转为字典的两个小方法
1、现在有两个列表,list1 = ['key1','key2','key3']和list2 = ['1','2','3'],把他们转为这样的字典:{'key1':'1','key2':'2','key3':'3'}
>>>list1 = ['key1','key2','key3']
>>>list2 = ['1','2','3']
>>>dict(zip(list1,list2))
{'key1':'1','key2':'2','key3':'3'}
2、将嵌套列表转为字典,有两种方法,
>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>>dict(list)
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
或者这样:
>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>>new_dict = {}
>>> for i in new_list:
... new_dict[i[0]] = i[1] #字典赋值,左边为key,右边为value
...
>>> new_dict
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
二、python 字符串,元组, 列表,字典之间的转换
#-*-coding:utf-8-*- #1、字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class') print tuple(dict) #字典可以转为元组,返回:(7, 'Zara', 'First') print tuple(dict.values()) #字典转为列表,返回:['age', 'name', 'class'] print list(dict) #字典转为列表 print dict.values #2、元组 tup=(1, 2, 3, 4, 5) #元组转为字符串,返回:(1, 2, 3, 4, 5) print tup.__str__() #元组转为列表,返回:[1, 2, 3, 4, 5] print list(tup) #元组不可以转为字典 #3、列表 nums=[1, 3, 5, 7, 8, 13, 20]; #列表转为字符串,返回:[1, 3, 5, 7, 8, 13, 20] print str(nums) #列表转为元组,返回:(1, 3, 5, 7, 8, 13, 20) print tuple(nums) #列表不可以转为字典----------------------------------------------------特殊情况特殊处理 #4、字符串 #字符串转为元组,返回:(1, 2, 3) print tuple(eval("(1,2,3)")) #字符串转为列表,返回:[1, 2, 3] print list(eval("(1,2,3)")) #字符串转为字典,返回:<type 'dict'> print type(eval("{'name':'ljq', 'age':24}"))
三、列表与字典相互转换
字符串转列表
s = 'abc'
a = list(s)
['a','b','c']
列表转为字符串
''.join(a)
字符串转换为元组
s='abc'
t = tuple(s)
元组转换为字符串
''.join(t)
列表转换为元组
l = ['a','b','c']
tuple(l)
元组转换为列表
t = ('a','b','c')
list(t)
['a','b','c']
字典转换为列表
dic={'a':1,'b':2}
dic.items()
[('a',1),('b',2)]
列表转换为字典
list1 = dic.items()
dict(list1)
四、遍历字典
从Python3.6开始遍历字典获得的键值对是有序的!以下的遍历方法必须全部熟练掌握。
dic = {'Name': 'Jack', 'Age': 7, 'Class': 'First'}
# 1 直接遍历字典获取键,根据键取值
for key in dic:
print(key, dic[key])
# 2 利用items方法获取键值,速度很慢,少用!
for key,value in dic.items():
print(key,value)
#3 利用keys方法获取键
for key in dic.keys():
print(key, dic[key])
#4 利用values方法获取值,但无法获取对应的键。
for value in dic.values():
print(value)
浙公网安备 33010602011771号