字典,列表,字符串,集合操作

Posted 沐雨辉甜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典,列表,字符串,集合操作相关的知识,希望对你有一定的参考价值。

字典

update

#update方法可以利用一个字典更新另一个字典,提供的字典中的项会被添加到旧的字典中,如果有相同的键则会被覆盖
d = {\'Tom\':8777,\'Jack\':8888,\'Fly\':6666}
a = {\'Tom\':110,\'Test\':119}
d.update(a)
print(d)   #the result:{\'Fly\': 6666, \'Test\': 119, \'Jack\': 8888, \'Tom\': 110}

  pop和clear删除字典中的值

#pop方法用于获得对应与给定的键值,然后将这个键值从字典中移除

d = {\'Tom\':8777,\'Jack\':8888,\'Fly\':6666}
v = d.pop(\'Tom\')
print(v)  # 8777

clear清除字典中所有的项,返回None(无返回值)
d = {\'name\':"tom"}
d.clear()
print(d)  # the result: {}
fromkeys,get,setdefault,for获取字典中的值
# fromkeys方法使用给定的键建立新的字典,每个键都对应一个默认的值None
print({}.fromkeys([\'name\',\'age\']))   #the result:{\'age\': None, \'name\': None}

#  get方法访问字典项,如果试图访问字典中不存在的项时不会报错仅会      返回:None
d = {\'Tom\':8777,\'Jack\':8888,\'Fly\':6666}
print(d.get(\'Tom\'))                              #the result :     8777

# setdefault方法在某种程度上类似于get方法,能够获得与给定键相关联的值,除此之外,setdefault还能在字典中不含有给定键的情况下设定相应的键值
d = {\'Tom\':8777,\'Jack\':8888,\'Fly\':6666}
d.setdefault(\'Tom\')                           #the result : 8777
print(d.setdefault(\'Test\'))                  #the result : None
print(d)                                      #{\'Fly\': 6666, \'Jack\': 8888, \'Tom\': 8777, \'Test\': None}

# for循环获取字典中的值得三种方法:
d = {\'Tom\':8777,\'Jack\':8888,\'Fly\':6666}
for k,v in d.items():
    print(k,v)     #  Tom 8777  Jack 8888   Fly 6666
for k in d.values():
    print(k)     #  # 8777   8888  6666  
for k in d.keys():
    print(k)   # Tom  Jack Fly

  

 dict(zip)将两个列表组合成字典

#将两个列表组合成字典
keys = [\'a\', \'b\']
values = [1, 2]
print(dict(zip(keys,values)))    # {\'a\': 1, \'b\': 2} 

  

列表

增加数据:append,extend,insert

# 1. append用于在列表末尾追加新的对象
a = [1,2,3]
a.append(4)                          #the result : [1, 2, 3, 4]
​
# 2. extend方法可以在列表的末尾一次性追加另一个序列中的多个值
a = [1,2,3]
b = [4,5,6]
a.extend(b)                          #the result :[1, 2, 3, 4, 5, 6]
​
# 3. insert方法用于将对象插入到列表中
a = [1,2,3]
a.insert(0,\'aa\')            #the result : [\'aa\', 1, 2, 3]
​

  

 

删除数据:pop,remove

# 1.pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值
a = [1,2,3]
a.pop()                             #the result : [1, 2]
a.pop(0)
​
# 2.remove方法用于移除列表中某个值的第一个匹配项
a = [\'aa\',\'bb\',\'cc\',\'aa\']
a.remove(\'aa\')                      #the result : [\'bb\', \'cc\', \'aa\']

  

 

查找数据:index,enumerate

#1. index函数用于从列表中找出某个值第一个匹配项的索引位置
a = [1,2,3,1]
print(a.index(1))                   #the result : 0
​
# 2. enumerate 使用
li = [11,22,33,44,55,66]
for k,v in enumerate(li, 1):  # 1.代表 k 从哪个数字开始
    print(k,v)
\'\'\'
1 11
2 22
3 33
\'\'\'

  

其他:sort,count,split,reverse

# 1.sort方法用于在原位置对列表进行排序,意味着改变原来的列表,让其中的元素按一定顺序排列
a = [\'a\',\'b\',\'c\',1,2,3]
a.sort()                           #the result :[1, 2, 3, \'a\', \'b\', \'c\']
​
# 2. count方法统计某个元素在列表中出现的次数
a = [\'aa\',\'bb\',\'cc\',\'aa\',\'aa\']
print(a.count(\'aa\'))                 #the result : 3
​
# 3.切片
name = [\'a\', \'b\', \'c\', \'d\', \'e\', \'f\', \'g\', \'h\']
name[1:6:2]     # [起始位置:终止位置:步长] 每隔 2 个元素才取出一个 [\'b\', \'d\', \'f\']
​
# 4.reverse方法将列表中的元素反向存放
a = [\'a\',\'b\',\'c\']
a.reverse()                         #the result : [\'c\', \'b\', \'a\']

  

 

字符串

1).find方法

  • 作用:find方法可以在一个较长的字符串中查找子串,他返回子串所在位置的最左端索引,如果没有找到则返回-1

a = \'abcdefghijk\'
print(a.find(\'abc\'))                 #the result : 0
print(a.find(\'abc\',10,100))   #the result : 11  指定查找的起始和结束查找位置

 

2).join方法

  • 作用:join方法是非常重要的字符串方法,他是split方法的逆方法,用来连接序列中的元素,并且需要被连接的元素都必须是字符串。

    a = [\'1\',\'2\',\'3\']
    print(\'+\'.join(a))         #the result : 1+2+3

3).strip方法

# (1)rstrip()
删除字符串末尾的空格或指定字符。

截掉字符串左边的空格或指定字符。
print("   test   test    ".lstrip())      #test   test    
# (3)strip
strip 方法返回去除首位空格(不包括内部)的字符串
print("   test   test    ".strip())    #the result :“test   test”

  

 

4).replace方法

  • 作用 :replace方法返回某字符串所有匹配项均被替换之后得到字符串

print("This is a test".replace(\'is\',\'is_test\'))     #the result : This_test is_test a test
 

5).split

  • 作用:用来将字符串分割成序列

    print(\'1+2+3+4\'.split(\'+\'))  #the result : [\'1\', \'2\', \'3\', \'4\']
    

     

6).字符串格式化


# 6.1 使用百分号(%)字符串格式化
num = 100
print("%d to hex is %x" %(num, num))        #100 to hex is 64
print("%d to hex is %#x" %(num, num))       #100 to hex is 0x64


# 6.2 使用format字符串格式化
#1. 位置参数
print("{0} is {1} years old".format("tom", 28))   #tom is 28 years old
print("{} is {} years old".format("tom", 28))  #tom is 28 years old
print("Hi, {0}! {0} is {1} years old".format("tom", 28))  #Hi, tom! tom is 28 years old

#2. 关键字参数

print("{name} is {age} years old".format(name = "tom", age = 28)) #tom is 28 years old ​ #3. 下标参数 li = ["tom", 28] print("{0[0]} is {0[1]} years old".format(li)) #tom is 28 years old

  

 

4.集合

list_1 = [1,2,3,4,5,1,2]

list_2 = [4,5,6,7,8]

(1).去重(去除list_1中重复元素1,2)  set

list_1 = set(list_1)    #去重: {1, 2, 3, 4, 5}
print(list_1)
list_2 = set([4,5,6,7,8])  
 

(2).交集 (在list_1和list_2中都有的元素)  intersection

print(list_1.intersection(list_2))     # 交集: {4, 5}
​
print(list_1 & list_2)    #交集    {4, 5}

  

 

(3).并集(在list_1和list_2中的元素全部打印出来,重复元素仅打印一次)  union

print(list_1.union(list_2))   #并集: {1, 2, 3, 4, 5, 6, 7, 8}
​
print(list_1 | list_2)  #并集:  {1, 2, 3, 4, 5, 6, 7, 8}

  

(4).差集  difference

print(list_1.difference(list_2)) #差集:在list_1中有在list_2中没有:   {1, 2, 3}
print(list_2.difference(list_1)) #差集:在list_1中有在list_2中没有:   {8, 6, 7}
​
​
print(list_1 - list_2)  #差集:    {1, 2, 3}
print(list_2 - list_1) #差集:  {8, 6, 7}

  

 

(5).删除元素  pop

 
# 1.删除集合中任意一个元素不会打印删除的值
list_1.pop()    #Pop()方法:   无返回值
​
​
# 2.discard删除集合中的指定元素,如过没有则返回None
print(list_1.discard("ddd"))  #Discard()方法:   删除指定的值,没有返回None

  

(6).在集合中添加元素  add

#在集合中添加一个元素999
list_1.add(999)
print(list_1) #Add()方法:          {1, 2, 3, 4, 5, 999}

  

 

 

 

以上是关于字典,列表,字符串,集合操作的主要内容,如果未能解决你的问题,请参考以下文章

python-基础 列表 集合 字典

python基础之 列表元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码

Python基础2 列表字典集合

字符串列表字典集合操作方法汇总

Python 编程骚操作- 字符串列表字典和集合的处理

Python基础2 字符串列表字典集合等操作