Python中列表(list)、字典(dict)、集合(set)、元组(tuble)小结

1. 字典(dict)

 dict是无序的,它是以key value的形式存在的,通过key,找到value。它和list是可变数据,所有的key都是唯一的!!!
定义一个dict

name_info = {
'name':'eason',
'age':'100',
'job':'engineer'
}

dict常用的方法:

1.dict.get(key,0) //如果key不存在,返回0
2.dict.has_key(key) //判断字典里面是否有某个key,以bool值的形式返回
3.dict.itmes() // 将字典转化成列表
4.dict.iteritmes() //生成器
5.dict.keys()//只显示key
6.dict.values() //只显示values
7.dict.setdefault('a',111) //如果里面有a的话,则获取a的值,如果没有的a的话,则定义一个key 为a value为111,并返回改值。
8.dict.update(dict2) //把dict2字典的内容更新到dict里面
9.dict2 = dict 或者 dict2 = dict.copy 其实本质上是import copy dict2 = copy.copy(dict) //浅copy,dic2 复制完成后,更改dict列表中元素的值,dict2的值会变化。
10.import copy dict2 = copy.deepcopy(dict) //深copy,dict2 复制完成后,更改dict列表中的值,dict2的值不会发生变化。

2.列表(list)

列表(list):
更改列表中的值:

list1 = [1,2,3,4]
list1[0] = 5 //将列表中的0位置的元素改为5

append()

list1 = [1,2,3,4]
list2 = [5,6,7]
list1.append(list2)
	执行结果:[1, 2, 3, 4, [5, 6, 7]]

extend()

list1 = [1,2,3,4]
list2 = [5,6,7]
list1.extend(list1)
	执行结果:[1, 2, 3, 4, 5, 6, 7]

小结:append追加,会将追加的东西作为一个整体追加,而extend是保持原有格式的扩展,将其变成单个字符添加。

count(关键字) 统计关键字的个数

name_list = ['linsir','ttsir','zzsir']
name_list.count('linsir')
	执行结果:1
name_list.append('linsir')
name_list.count('linsir')
	执行结果:2 //追加了一个linsir

insert(‘索引位置’,添加的值)

name_list = ['linsir','ttsir','zzsir']
name_list.insert (0,'wangsir')
print(name_list)
	执行结果:['wangsir', 'linsir', 'ttsir', 'zzsir'] //在0的位置,添加wangsir。

pop() 删除元素,从最后面删除。

name_list = ['linsir','ttsir','zzsir']
name_list.pop()
print(name_list)
	执行结果: name_list = ['linsir','ttsir','zzsir']//从右向左删除一个元素

当然pop删除,可以指定删除索引的位置:

name_list = ['linsir','ttsir','zzsir']
name_list.pop(0)
print(name_list)

remove 传递待删除的元素,默认有多个,删除第一个。当然del也是可以删除的。

name_list = ['eason','tony','bob','bob','tony']
name_list.remove('tony')
print(name_list)
	执行结果:['eason', 'bob', 'bob', 'tony']
del name_list[0] //删除第一个。

index() 获取列表中某个元素的索引值,使用len()函数,获取列表的所有元素。

name_list = ['linsir','ttsir','zzsir']
name_list.index('ttsir')
	执行结果:1 //ttsir在列表中的位置为1。

reverse() 倒过来输出

name_list = ['linsir','ttsir','zzsir']
name_list.reverse()
print(name_list)
	执行结果: ['zzsir', 'ttsir', 'linsir']

sort() 排序输出

ame_list = [0,3,2,4]
name_list.sort()
print(name_list)
	执行结果:[0, 2, 3, 4]

sorted() 既排序还保留原来的值。

a = [0,3,2,4]
b = sorted(a)
print(b)
	执行结果:[0, 2, 3, 4] //a的值是不变的

copy()

names = ['xiaoa','xiaob','xiaoc','xiaod']
names_new = names.copy()
print(names_new)
	执行结果:['xiaoa', 'xiaob', 'xiaoc', 'xiaod']

小测试:

names = ['xiaoa','xiaob','xiaoc','xiaod']
print(names)
print(names[0],names[2])
print(names[0:3]) #切片 等同于 print(names[:3]) ,0可以不写。
print(names[-1]) #获取最后一个元素,用-1表示。
print(names[-1:-3]) #这样获取最后三个元素是错误的,因为获取元素是从左往右取的。
print(names[-3:-1]) #应该这样取,但是这样的话最后一个元素是没法取的。考虑用0表示,获取的值直接为[]空列表了。所以,获取方式应该为
print(names[-3:]) #后面直接不写即可。这样就可以获取最后三个元素。

3.元组(tuble)

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

语法

names = (a,b,c)
	它只有2个方法,一个是count,一个是index。

当然也有可变元组:
可变元组:(即元组里面有列表)

a = (1,2,3,[7,8,9])
a[3][0] = 4
a[3][1] = 5
a[3][2] = 6a
	执行结果:(1, 2, 3, [4, 5, 6])

     特殊情况:(歧义)c = (1)type© 可以发现输出结果为int,即c为整型了,这样就不是我们想要的创建元祖了。因此,我们定义单个数字为元祖的时候,要在后面加个逗号,来消除歧义。
      c = (1,)type© 此时他它tuple,元组。

4.集合(set)

集合是无序的,它和字典很相似,只是它只有key 没有value。

定义一个集合:

s1 = {1,2,3,4,4}
s2 = set([1,2,3,4,4])
print(s1,s2)

输出结果都是{1,2,3,4},可见集合会去重的!

交集:

s1 = {1,2,3,4,8,9}
s2 = set([1,2,3,4,5,6,7])
print(s1,s2)

第一种方法:print(s1&s2)
第二种方法:print(s1.intersection(s2))
输出结果:{1,2,3,4}
并集:

s1 = {1,2,3,4,8,9}
s2 = set([1,2,3,4,5,6,7])

第一种方法:print(s1|s2)
第二种方法:print(s1.unjion(s2))
输出结果:{1, 2, 3, 4, 5, 6, 7, 8, 9}

差集:在s1中s2没有的或者是在s2中s1中没有的

s1 = {1,2,3,4,8,9}
s2 = set([1,2,3,4,5,6,7])

第一种方法:print(s1.difference(s2))
      print(s2.difference(s1))
第二种方法:pint(s1 - s2) 在s1中不在s2中
      print(s2 -s1) 在s2中不在s1中

输出结果:{8, 9}
    {5, 6, 7}

子集:

s1 = {1,2,3}
s2 = {1,2,3,4}
print(s1.issubset(s2))
            输出结果:True  s1是s2的子集。

父集:

s1 = {1,2,3}
s2 = {1,2,3,4}
print(s1.issubset(s2))
print(s2.issuperset(s1))
            输出结果:True ,s2是s1的父集。

对称差集:互相都没有的取出来

s1 = {1,2,3,4,8,9}
s2 = set([1,2,3,4,5,6,7])

第一种方法:print(s1.symmetric_difference(s2))
第二种方法:print(s1^s2)

        输出结果:{5, 6, 7, 8, 9}

集合简单操作:
添加一个元素:

s1 = {1,3,4,5}
s1.add(2)
print(s1)
            输出结果:{1, 2, 3, 4, 5}

删除一个元素:

s1 = {1,2,3,4,5}
s1.remove(5)
print(s1)  
            输出结果:{1, 2, 3,4}

猜你喜欢

转载自blog.csdn.net/weixin_43292457/article/details/84590533