列表中字符串操作
join() 和split()示范
>>>list1=['a','b','c','1']
>>>''.join(list1) #不用符号连接且列表中所有元素是str类型
'abc1'
>>>'*'.join(list1) #用*连接字符
'a*b*c*1'
>>>'a*b*c*1'.split('*')
['a','b','c','1']
>>>'a*b*c*1'.split()
['a*b*c*1']
>>>len(list1) #统计个数
4
#不用内部方法:
list2=['x','1','a']
result=""
for i in list2:
result+=str(i)+"*" #列表元素转换成字符串合并且用*隔开
print result[:-1] #隐藏最后一个*
如果元祖中有元素是列表或字典,则可以改变该元素内容。
b=(1,2,[1])
b[2].append("add")
print b
(1,2,[1,'add'])
元祖类型基本操作:增删改.
元祖里key是唯一的
#创建
b={}
#增加
b['a']=1 #tuple[key]=value
b['b']=2
b['b']="r"
#删除
del b['a']
#查看
d['b'] #某个key的值
d.values()
d.keys()
d.items()
#遍历
for key,value in d.items():
print key,value
for key in d.keys(): #亦可以用value
print key
for i in d: #默认用key,打印key
print i
#判断是否有key存在
d.has_key('b') #返回True或False
练习:利用元祖key的唯一性,进行list排重
a=[1,1,1,1,2,2,2,3]
1 声明一个空字典对象
d={}
2 逐一读取list中的值,让每个值作为字典的
key,然后随便赋值一个value
for i in a:
d[i]=""
3 将字典的全部key读出,并存在一个变量里
new_list=d.keys()
完成以上3步就完成了列表内容的排重
print new_list
Q:查询字典和序列哪个快(10000)?
*字典更快:哈希算法(Hash函数)
序列:遍历*
Q: a 和print a 调用不同内部方法:a调用”repr“,print a调用“str.
示例:
参考
20171123学习笔记