莫愁前路无知己,天下谁人不识君。。。。

python经常疑惑的知识2---字符串、列表、元组和字典

上一篇 / 下一篇  2017-05-11 20:37:07 / 个人分类:python知识精髓

学习python经常,用字符串,列表,元组,字典,但这四者彼此之间却大有关联,先补充一点,后续慢慢补上。。。
1. str转list  tuple转list
list = list(str)
list = list(tuple)
eg:
A='abc'
li=list(A)>>>>['a','b','c']
若A.split()>>>['abc']
若for i in A:
     list.append(i)
  print list>>>>['a','b','c']

2. list转str list转tuple
str= ''.join(list)(单引号中间可以增加,或.),
tu= tuple(list)
eg:
B=['a','b']
str=''.join(B)
print str>>>>ab<type'str'>
但 B=['a',1]
 str=''.join(B)
print str>>>>sequence item1:expected string,int found
出现整数怎么破解??
只有将数字转换成字符串
print(" ".join('%s' %id for id in B))>>>a1<type'str'>

3.tuple转str  str转tuple
tup=(1,3,4)
print tup.__str__()>>>>(1,2,3)<type'str'>

str='123'
print tuple(eval("str"))>>>>('1','2','3')<type'tuple'>

4.字典转字符串(dict=>str)
A={'a':1,'b':2}
for key,value in A.items():
    print "\'%s\':\'%s\'"%(key,value)

5.字符串转字典(str=>dict)
A="{'a':1,'b':2}"
b=eval(A)>>>{'a':1,'b':2} 或
exec("c="+a)
print c>>> {'a':1,'b':2}

6.字典转列表(dict=>list)
A={'a':1,'b':2}
key=list(A.keys)
value=list(A.values)

7.列表转字典(list=>dict)元组转字典(tuple=>dict)方法相同
list1=['a','b','c']
list2=[1,2,3]
di=zip(list1,list2)
dic=dict(zip(list1,list2))
print di,dic
[('a', 1), ('b', 2), ('c', 3)]
{'a': 1, 'c': 3, 'b': 2}
变相例题:
1.元组或列表
list=[(1,2),(3,4),(5,6)]或list=[[1,2],[3,4],[5,6]]
dict={}
for i in list:
   dict[i[1]]=i[0]
print dict

2.多字典
dictall={}
list=[{1:2},{3:4},{5:6}]
dict1=list[0]
dict2=list[1]
dict3=list[2]
for j in range(1,4):
   exec("dictall.update(dict'+str(j)+')") #此处有问题
补充一下字典知识
a.合并字典
dict1={'a':1,'b':2}  dict2={'c':3,'c':4} 
1.dictmerge=dict1.copy()
  dictmerge.update(dict2)   效率最好
2.dictmerge=dict(dect1,**dict2) 效率次之
3.dictmerge=dict(dict1)
  dictmerge.update(dict2)
4.dictmerge=dict(dict1.items()+dict2.items())
# 键值互换,说明:前提:值唯一 
params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
params1 = dict([val,key] for key,val in params.items())
print params1
params2 = dict(zip(params.values(),params.keys()))
print params2
params3 = {}
for key,val in params.items():
    params3[val]=key
print params3
# 分化小字典
for key,value in params.items(): 
    print {key:value}
# 遍历字典
for d in params:
    print "%s:%s" %(d,params[d])
for (k,v)in params.items():
    print "%s:%s" %(k,v)
for k,v in params.iteritems():
    print "%s:%s" %(k,v)
for k in params.iterkeys():
    print "%s:%s" %(k,params[k])
for k,v in zip(params.iterkeys(),params.itervalues()):
    print "%s:%s" %(k,v)


TAG: Python python 知识 字符串

gb123的个人空间 引用 删除 gb123   /   2017-05-12 10:13:37
错别字→元组
 

评分:0

我来说两句

Open Toolbar