当前位置:   article > 正文

Python list,tuple,dict,set高级变量常用方法_(: text) -> union[dict, list]用法

(: text) -> union[dict, list]用法
list列表

增加

  1. append 在列表中追加,一次只能加一个
  2. insert 按索引插入,一次只能插一个
  3. extend 迭代追加到列表中
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.append(2)
print(list1)
list1.insert(1, 4)
print(list1)
list1.extend(list2)
print(list1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

输出:

[1, 2, 3, 2]
[1, 4, 2, 3, 2]
[1, 4, 2, 3, 2, 4, 5, 6]
  • 1
  • 2
  • 3

删除

  1. remove 按照元素值删除,一次只能删除一个
  2. pop 按索引删除,也可以按切片跟步长删除,默认删除最后一个(输出返回值)
  3. clear 清空列表
  4. del 删除整个列表
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
list1 = [1, 2, 3, 4, 5, 6]
list1.remove(3)
print(list1)
list1.pop()
print(list1)
list1.pop(2) #或者del list1[2]不推荐
print(list1)
list1.clear()
print(list1)
del list1
print(list1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

输出:

[1, 2, 4, 5, 6]
[1, 2, 4, 5]
[1, 2, 5]
[]
NameError: name 'list1' is not defined
  • 1
  • 2
  • 3
  • 4
  • 5

修改

  1. 按索引去改
  2. 按切片步长去改
list1 = [1,2,3,4,5,6]
list1[2] = 9
print(list1)
list1[1:4] = [11,12,13]
print(list1)
  • 1
  • 2
  • 3
  • 4
  • 5

输出:

[1, 2, 9, 4, 5, 6]
[1, 11, 12, 13, 5, 6]
  • 1
  • 2

查询

  1. 按索引,切片加步长去查
  2. 用for循环查
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
list1 = [1,2,3,4,5,6]
list2 = list1[0:5:2]
print(list2)
for i in list1:
	print(i)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

输出:

[1, 3, 5]
1
2
3
4
5
6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

其他方法

  1. len() 查询列表长度
  2. count 统计某个元素出现的个数
  3. index 通过元素找索引
  4. sort 排序列表,括号里接reverse=True就是从大到小
  5. reverse 倒叙列表
  6. enumerate 用for循环,给序列加序号
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
list1=[1,2,3,4,5,6,7,4,5,4]
print(len(list1))
print(list1.count(4))
print(list1.index(2))
print(list1.index(4)) #默认显示第一个匹配的元素的索引
list1.sort(reverse=True)
print("降序:", list1
for index,value in enumerate(list1):
	print("{0},{1}".format(index,value))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

输出:

10
3
1
3
降序: [7, 6, 5, 5, 4, 4, 4, 3, 2, 1]
0,7
1,6
2,5
3,5
4,4
5,4
6,4
7,3
8,2
9,1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
tuple元组

tuple元组与列表类似,不同之处在于元组的元素不能修改

查询

按索引去查
按切片步长去查

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
  • 1
  • 2
  • 3
  • 4

输出:

tup1[0]:  Google
tup2[1:5]:  (2, 3, 4, 5)
  • 1
  • 2

修改

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz') #tup1[0] = 100 该方法是非法的
tup3 = tup1 + tup2; #创建一个新的元组
print (tup3)
  • 1
  • 2
  • 3
  • 4

输出:

(12, 34.56, 'abc', 'xyz')
  • 1

删除

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
列表和元祖的转换(如想要保护数据,可把list转换成元祖,如修改可转成列表)

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
tup = ('Google', 'Runoob', 1997, 2000) 
print (tup)
del tup;
print ("删除后的元组 tup : ")
print (tup)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

输出:

NameError: name 'tup' is not defined
  • 1
dict字典

增加

正常方式写入即可,有则不动,无则增加

dict1 = {"name": "小明", "age": 18, "height": 1.75}
dict1["wegit"] = 64.5
print(dict1)
  • 1
  • 2
  • 3

输出:

{'name': '小明', 'age': 18, 'height': 1.75, 'wegit': 64.5}
  • 1

修改

update 把另一个键值队合并到一个,相同的覆盖,没有的添加

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
dict2 = {"name": "小华", "age": 18, "curriculum": "English"}
dict1.update(dict2)
print(dict1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出:

{'name': '小华', 'age': 18, 'height': 1.75, 'wegit': 64.5, 'curriculum': 'English'}
  • 1

删除

pop 按key删
popitem 删除最后一个
clear 清空
del 删除key或全部删除

dict1 = {'name': '小华', 'age': 18, 'height': 1.75, 'wegit': 64.5, 'curriculum': 'English'}
dict1.popitem()
print(dict1)
dict1.pop("wegit")
print(dict1)
del dict1["name"]
print(dict1)
dict1.clear()
print()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

输出:

{'name': '小华', 'age': 18, 'height': 1.75, 'wegit': 64.5}
{'name': '小华', 'age': 18, 'height': 1.75}
{'age': 18, 'height': 1.75}
{}
  • 1
  • 2
  • 3
  • 4

查询

对键遍历
对键和值遍历

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
d = {'name1' : 'pythontab', 'name2' : '.', 'name3' : 'com'}
for key in d:
    print (key, ' value : ', d[key])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出:

name1 value : pythontab
name2 value : .
name3 value : com
for key, value in d.items():
    print (key, ' value : ', value)
  • 1
  • 2
  • 3
  • 4
  • 5

输出:

name1 value : pythontab
name2 value : .
name3 value : com
  • 1
  • 2
  • 3
set集合

增加

add 添加一个字符串
update 迭代着添加

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
b = {'b', 'c'} #定义集合
print(b)
a = set('boy') #定义集合
print(a)
a.add('python')
print(a)
a.update('update')
print(a)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

输出:

{'b', 'c'}
{'b', 'y', 'o'}
{'b', 'python', 'y', 'o'}
{'b', 'a', 'python', 'u', 'd', 't', 'e', 'p', 'o', 'y'}
  • 1
  • 2
  • 3
  • 4

删除

remove 按元素删除
discard 集合的删,跟remove删是一样的,没有不会报
pop 随机删除一个元素,有返回值
clear 清空集合
del 删除整个集合

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a.remove('python')
print(a)
a.discard('python') #已经删除python元素了,再用discard删除不会报错
print(a)
a.pop()
print(a)
a.clear()
print(a)
del a
print(a)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

输出:

{'b', 'a', 'u', 'd', 't', 'e', 'p', 'o', 'y'}
{'b', 'a', 'u', 'd', 't', 'e', 'p', 'o', 'y'}
{'a', 'u', 'd', 't', 'e', 'p', 'o', 'y'}
set()
NameError: name 'a' is not defined
  • 1
  • 2
  • 3
  • 4
  • 5

交集【& or intersection】

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.intersection(y) 
print(z)
c = x & y
print(c)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出:

{'apple'}
{'apple'}
  • 1
  • 2

并集【| or union】

x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.union(y) 
print(z)
c = x | y
print(c)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

输出:

{'cherry', 'runoob', 'google', 'banana', 'apple'}
{'cherry', 'runoob', 'google', 'banana', 'apple'}
  • 1
  • 2

差集【- or difference】

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.difference(y) 
print(z)
z1 = y.difference(x)
print(z1)
c = x - y
print(c)
c1 = y - x
print(c1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出:

{'cherry', 'banana'}
{'google', 'microsoft'}
{'cherry', 'banana'}
{'google', 'microsoft'}
  • 1
  • 2
  • 3
  • 4

反交集【^ or symmetric_difference】

返回两个集合中不重复的元素

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.symmetric_difference(y) 
print(z)
m = x ^ y
print(m)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出:

{'microsoft', 'google', 'cherry', 'banana'}
{'microsoft', 'google', 'cherry', 'banana'}
  • 1
  • 2

子集【< or issubset】

a = {1,2}
b = {1,2,3,4}
print(a.issubset(b)) #a是b的子集
print(a < b)
  • 1
  • 2
  • 3
  • 4

输出:

True
True
  • 1
  • 2

超集【> or issuperset】

a = {1,2}
b = {1,2,3,4}
print(b.issuperset(a)) #b是a的超集
print(b > a)
  • 1
  • 2
  • 3
  • 4

输出:

True
True
  • 1
  • 2

frozenset 不可变集合

a = frozenset("abcd")
print(a)
a.add("d")
  • 1
  • 2
  • 3

报错:AttributeError: ‘frozenset’ object has no attribute ‘add’

输出:

frozenset({'b', 'a', 'd', 'c'})
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/172033
推荐阅读
相关标签
  

闽ICP备14008679号