python 列表、元组、字典 增删改查 等常用操作

版权声明:随意转载,需注明出处。by think_ycx https://blog.csdn.net/think_ycx/article/details/51254214

python风格编程规范部分笔记:http://paste.ubuntu.com/16293710/

各种类型转换:http://www.cnblogs.com/linjiqin/p/3674356.html


#coding=utf-8

#列表
string  = 'list'
#字符串->列表
list1 = list(string) # ['l', 'i', 's', 't']
#列表->字符串
string1 = ''.join(list1) #list

#列表的增删改查
list1 = list('this is a list')
#增加
list1.append('!') #末尾增加元素
list1.insert(2,'this is index 3') #指定index增加一个元素

#删除
list1.pop(-1)  #删除指定index的元素 默认是-1 return被删除元素的值
del list1[-1]
if '!' in list1:  #删除第一个匹配的元素,如果不存在会报错,没有返回值
    list1.remove('!')
#修改
list1[0] = '0'  #元素赋值
list1[0:2] = list('05')  #分片赋值
list1[1:1] = list('1234') #分片赋值 插入新元素
list1[1:5] = []  #分片赋值 删除元素
#查找
if 'a' in list1:
    index = list1.index('a')  # 查找元素下标
#拼接
list2 = ['new','list']
list1.extend(list2)  #从列表增加元素
print list1
#逆置
list1.reverse();
print list1
#去重
#1
l1 = ['b','c','d','c','a','a']
l2 = list(set(l1))
#2
l2.sort(key=l1.index) #保持原来的顺序
#3
l1 = ['b','c','d','c','a','a']
l2 = []
for i in l1:  #[l2.append(i) for i in l1 if not i in l2]
    if not i in l2:
        l2.append(i)
print l2   #保持原来的顺序






#元组 ,操作和列表类似,但是元组不能修改
#创建
tuple1 = ()
tuple1 = 1,
tuple1 = 1,2,3
tuple1 = tuple([1,2,3,4]) #序列->元组
print tuple1





#字典
#创建
dict1 = {
    'key':'value',
    'key1':'value1'
}
a = [('key1','value1'),('key2','value2')]
dict1 = dict(a)
dict1 = {}.fromkeys(['key1','key2'],'default_value') #从键值创建dict
dict1 = dict(key1='value1',key2='value2')

#增加
dict1['key3']='value3' #字典可以自动添加
dict1.setdefault('key5','N/A') #如果不存在,就设置默认值

#删除
del dict1['key3']
print dict1.pop('key2')  #popitem随机删除 和列表的pop一样
#dict1.clear()  #深删除,即使有拷贝 也会被删除

#修改
if 'key1' in dict1:
    dict1['key1']='new_value_1'
#查找
if 'key1' in dict1:
    print dict1['key1']
if dict1.has_key('key1'):
    print dict1['key1']
print dict1.get('key3','not exists') #宽松访问
print dict1.keys(),dict1.values()

#拼接
dict2 = dict(key4 = 'value4') #从字典更新另一个字典
dict1.update(dict2)

展开阅读全文

没有更多推荐了,返回首页