python中的复杂数据类型详解(上)

复杂数据类型有四种:

  • 列表
  • 元组
  • 字典
  • 集合

文章目录


本文先详解列表与元组:
要看字典与集合请点击此处

python复杂数据类型详解(下)字典与集合

创建复杂数据类型的各种姿势
创建列表的四式
创建元组的两招
创建字典的五式
创建集合的三招

1.列表

1.列表的定义及格式
定义:
列表是一个可修改的,元素以逗号作为分割,以中括号包围的有序序列。
变量=[元素1,元素2,元素3,…]

用代码来理解把!

#定义列表
names=["张三","李四","王麻子"]
print(names)
print(type(names))

'''
运行结果
['张三', '李四', '王麻子']
<class 'list'>
'''

2.列表持有的操作与特性
那么可以对列表执行哪些操作呢?
可相加,但不可相减,可遍历,可切片
列表具有哪些特性呢?
有序性,可重复性,可更改

用代码来理解把!

list1=[1,2,3,4]
list2=[3,4,5,6]

#相加性
print(list2+list1)
print("-"*20)
#可更改,并且可重复
list1.append(1)
print(list1)
print("-"*20)
#可以进行切片操作,因为列表是有序的,具有索引下标
print(list1[1:3])
print(list2[1:3])
print("-"*20)
#可遍历性
for i in list1:
    print(i)
for i in list2:
    print(i)
print("-"*20)

'''
运行结果:
[3, 4, 5, 6, 1, 2, 3, 4]
--------------------
[1, 2, 3, 4, 1]
--------------------
[2, 3]
[4, 5]
--------------------
1
2
3
4
1
3
4
5
6
--------------------
'''

3.列表类型持有方法
(1)增加操作

方法 描述
append 追加,在列表的尾部加入指定的元素
extend 将指定序列的元素依次追加到列表的尾部(合并),不会去重复内容
insert 将指定的元素插入到对应的索引位上,注意负索引倒序插入,超过索引

用代码来理解把!

list1=["hello","hellow","hi"]
list2=["张三","李四","王麻子"]
print(list1)
print(list2)
print("-"*20)

#添加元素
list1.append("我追加了一个元素")
print(list1)
print("-"*20)

#合并列表
list1.extend(list2)
print(list1)
print("-"*20)

#插入元素
list1.insert(0,"我插入了一个元素")
print(list1)
'''
运行结果
['hello', 'hellow', 'hi']
['张三', '李四', '王麻子']
--------------------
['hello', 'hellow', 'hi', '我追加了一个元素']
--------------------
['hello', 'hellow', 'hi', '我追加了一个元素', '张三', '李四', '王麻子']
--------------------
['我插入了一个元素', 'hello', 'hellow', 'hi', '我追加了一个元素', '张三', '李四', '王麻子']
'''

(2)删除操作

方法 描述
pop 弹出,返回并删除指定索引位上的数据,默认删除索引为-1的数据(从右向左删除)
remove 从左往右删除一个指定的元素
del 删除整个列表或列表的数据,del是python内置功能,不是列表独有的

用代码来理解把!

list=[1,2,3,4]
#默认删除-1位置的元素
list.pop()
print(list)
print("-"*20)

#指定元素删除,只能从左到右删除,不不能从右到左删除,意味着负数会报错
list.remove(1)
print(list)
print("-"*20)

#既可以删除整个列表,也可以删除列表中部分元素
del list
print(list) # print(list)会报错,因为列表已经被删除,不存在
print("-"*20)

'''
运行结果:
[1, 2, 3]
--------------------
[2, 3]
--------------------
print(list)会报错,因为列表已经被删除,不存在
--------------------
'''

(3)修改操作

方法 描述
lists[index] lists[index]=’xxx’,通过索引修改内容
reverse 顺序倒序
sort 按照ascii码表顺序进行排序

用代码来理解把!

#利用索引修改列表中的内容
list=[2,3,1,4]
list[0]="我修改了一个元素"
print(list)
print("-"*20)

#进行翻转
list.reverse()
print(list)
print("-"*20)

#进行排序,默认reverse参数是True,降序排序
list=["a","A","z","2","6","1"]
list.sort()
print(list)
print("-"*20)

#设置reverse参数,可控制是降序排序还是升序排序
list=["a","A","z","2","6","1"]
list.sort(reverse=True)
print(list)
print("-"*20)

list.sort(reverse=False)
print(list)

'''
运行结果:
['我修改了一个元素', 3, 1, 4]
--------------------
[4, 1, 3, '我修改了一个元素']
--------------------
['1', '2', '6', 'A', 'a', 'z']
--------------------
['z', 'a', 'A', '6', '2', '1']
--------------------
['1', '2', '6', 'A', 'a', 'z']
'''

(4)查找操作

方法 描述
count 计数,返回要计数的元素在列表当中的个数
index 查找,从左往右返回查找到的第一个指定元素的索引,如果没有找到,报错

用代码来理解把!

#计数
list=[1,1,2,3,3,4]
print(list.count(1))
print("-"*20)

#从左往右查找第一个元素,返回他的索引
print(list.index(2))

'''
运行结果:
2
--------------------
2
'''

2.元组

1.元组的定义及格式
定义:
列表是一个不可修改的,元素以逗号作为分割,以圆括号包围的有序序列。
变量=(元素1,元素2,元素3,…)

元组跟列表差异不大,唯一的区别是,元组类型不可更改,这也就是为什么函数中的return返回的值是元组类型,因为函数执行完毕,返回的值不需要更改,所以设置成元组类型!
用代码来理解把!

#创建元组
tup=("张三","李四","王麻子")
print(tup)
print(type(tup))

'''
运行结果:
('张三', '李四', '王麻子')
<class 'tuple'>
'''

2.元组的序列操作
那么可以对元组执行哪些操作呢?
可相加,但不可相减,可遍历,可切片
元组具有哪些特性呢?
有序性,可重复性,不可更改
用代码来理解把!

tup1=(1,2,3,4)
tup2=(3,4,5,6)

#相加性
print(tup2+tup1)
print("-"*20)

#可以进行切片操作,因为元组是有序的,具有索引下标
print(tup1[1:3])
print(tup2[1:3])
print("-"*20)
#可遍历性
for i in tup1:
    print(i)
for i in tup2:
    print(i)
    
'''
运行结果:
(3, 4, 5, 6, 1, 2, 3, 4)
--------------------
(2, 3)
(4, 5)
--------------------
1
2
3
4
3
4
5
6
'''

元组中的方法

方法 描述
count 计数,返回要计数的元素在列表当中的个数
index 查找,从左往右返回查找到的第一个指定元素的索引,如果没有找到,报错
del 在元组中使用del只能删除整个元组,因为元组中的内容不可修改
#计数
tup=(1,1,2,3,3,4)
print(tup.count(1))
print("-"*20)

#从左往右查找第一个元素,返回他的索引
print(tup.index(2))

#删除tup元组
del tup
'''
运行结果:
2
--------------------
2
'''

来一波,推送吧!
群号:781121386
群名:人生苦短,我学编程
欢迎大家加入我们,一起交流技术!!!

发布了38 篇原创文章 · 获赞 128 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/lujiangyang123/article/details/103478529
今日推荐