【Python21天学习挑战赛】-列表 & 元组 & range

简介: 【Python21天学习挑战赛】-列表 & 元组 & range

活动地址:CSDN21天学习挑战赛

开头一叙:

无论是以后学习需要或者是三年后的工作需要,都需要用到python的工具,也接着这次活动的机会,把python系统的学一遍。跟着大佬,让python知识从入门到精通。

1 列表

列表——list–容器(书包) : 有序、可变、支持索引

列表:存储数据、存储字符串、数字、布尔型、列表、集合、元组、字典

  • list[1:3]左闭右开

定义一个列表:

lst=["alex",123,True,"憨憨","alex"]   #用逗号分割表示一个元素,存入的是地址
# print(lst)
# print(id(lst[0]))#id获取对象的内存地址
# #['alex', 123, True, '憨憨'],输出有序

列表是可变的:

lst[0]="alexxx" #字符串不是可变的变量
 print(lst)

若继续添加列表内容:

lst.append("烤鸭") #在列表最后的位置添加
print(lst)
lst.insert(2,"黑哥") #在第二个元素后面添加。但以后尽量不要使用,若数据量太大,影响效率
print(lst)
lst.extend("今天是个好日子") #迭代添加,把今天好逐个添加,不能放数字,因为数字不能被循环
#['alex', 123, True, '憨憨', '今', '天', '是', '个', '好', '日', '子']
print(lst)

列表删除元素:

lst=["alex",123,True,"憨憨","alex1"]
lst.pop()   #弹,默认删除最后一个
print(lst)
lst.pop(1)
print(lst)  # 通过指定索引删除
lst.remove("憨憨")    #通过元素名字删除,若有多个元素重名,删除第一个,此后不再删除
print(lst)

del lst #强制销毁列表
del lst[0:3]    #删除0-3,切片删除
print(lst)
del lst[0:4:3]  #删除0-4,0开始之后,中间隔断两个数删一次,步长删除
print(lst)

lst.clear() #清空
print(lst)

修改列表内容:

lst=["alex",123,True,"憨憨","alex1"]
lst[3]="大憨憨"
print(lst)
lst[1:2]="12345" #切片修改
#['alex', '1', '2', '3', '4', '5', True, '憨憨', 'alex1']
print(lst)
lst[1:4]=1,"daaa",3
print(lst)
lst[1:4:2]="12" #步长不为1的,必须一一对应,多一个或者少一个都不行
print(lst)

列表的嵌套:

lst=[1,"春生","小东北","渣弟",["大黑哥",["孙悟空","弼马温","齐天大圣"],"冯强","海峰",["太白金星","女神","吴超",["萧峰"]]]]
print(lst[-1])
# ['大黑哥', '冯强', '海峰', ['太白金星', '女神', '吴超', ['萧峰']]]
a=lst[-1]
print(a[-1])
#输出:['太白金星', '女神', '吴超', ['萧峰']]
# 不管什么类型切片的时候,都是源数据类型
#想要获取'弼马温'
a=lst[-1][1][1]
print(a)

2 元组

2. 1 定义

首先举一个例子:

t=123,'abc',["come","here"]
print(t)

元组是用圆括号括起来的,元素之间用逗号隔开。如上输出:

(123, 'abc', ['come', 'here'])

其中,元组也是一种序列,与字符串、列表类似。

  • 元组中的元素不能更改,与字符串类似
  • 元组的存储类型可以是任何类型的数据,这一点与列表相同
2.2 索引与切片

操作与列表类似:

t=1,'23',[123,'abc'],["come","here"]
print(t[2])
print(t[1:])
print(t[2][0])
[123, 'abc']
('23', [123, 'abc'], ['come', 'here'])
123

需要注意的是,若一个元组只有一个元素,应该在元素后面加一个半角的英文逗号。如下:

a=(3)
print(type(a))
b=(3,)
print(type(b))
 
<class 'int'>
<class 'tuple'>

列表与元组之间的转换

  • 元组->列表 tuple->list
t=1,'23',[123,'abc'],["come","here"]
print(t)
tls=list(t)
print(tls)
#输出:
#(1, '23', [123, 'abc'], ['come', 'here'])
#[1, '23', [123, 'abc'], ['come', 'here']]
  • 列表->元组 list->tuple
tu_tuple=tuple(tls)
print(tu_tuple)
#输出:
#(1, '23', [123, 'abc'], ['come', 'here'])

3 range() - 范围

python3 中的range是一个迭代对象,写得是怎样的打印的怎样

print(list(range(0,10)))
# 输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  #顾头不顾尾(左闭右开)

python2 中的range返回的是一个列表

print(range(0,10))
# # 输出:range(0, 10)

示例展示:

print(list(range(10,1,-1))) #[10:1:-1]
#输出:[10, 9, 8, 7, 6, 5, 4, 3, 2]

#使用for循环和range打印100~1
for i in range(100,0,-1):
    print(i,end=" ")
#输出:100 99 98 97 96 95 94 93 92 91 ..... 1


相关文章
|
4月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
325 1
|
4月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
460 1
|
4月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
560 1
|
4月前
|
开发者 Python
Python列表推导式:优雅与效率的完美结合
Python列表推导式:优雅与效率的完美结合
482 116
|
4月前
|
大数据 开发者 Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
426 109
|
4月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
493 119
|
4月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
|
4月前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
212 1
|
4月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
230 4
|
存储 开发者 Python
Python2和Python3的range(100)的区别
【2月更文挑战第20天】
401 0

推荐镜像

更多