2021-07-24

python-列表详解

python中的列表与数组类似,用[]表示,元素之间用逗号“,”隔开。

1,基本方法

创建列表
example01 = ['我', '爱', '中国', 'pytohn', '天', '下', '第', 1]
查询列表中的元素
# example[index] index:元素的索引值。
增加元素/列表
#list.append( obj ) 在列表末尾添加新的对象,无返回值,但会修改原来的列表
example01.append('2021')

#list.extend( seq ) 在列表末尾一次性追加另一个序列的多个值,无返回值,但会在已存在的列表中添加新列表的内容.seq:列表
example02 = ['年,’7月24日']
example01.extend( example02 )

#list.inster( index, obj)。index:对象obj需要插入的索引位置。obj:要插入列表中的对象
example01 = (0,'x')
删除元素/列表
# list.pop( index ) 移除列表中的一个元素(默认移除最后一个值),并返回该元素的值。
example01,pop( 0 )

# list.remove( obj ) 删除列表中指定的元素,如果元素重复,则默认删除第一个
example03 = [1, 2, 3, 3, 4, 5, 6, 6]
example03.remove( 2 )

# del list[index] 删除指定元素,无返回值,在已有列表中的进行操作
del example03[2] 删除第二个元素
del example03[2,4] 删除从第2个元素开始,到第3个元素为止。
del example03 删除整个列表
修改元素
# month[index] = '' 
month=['January','Feburary','March','April','May','June','July','August','September','October','November','December']
month[0] = JUN

2,提升

翻转
# list.reverse() 将列表进行翻转,无返回值,直接在原列表进行操作。
# reversed(list) 和list.reverse()功能相同
month.reverse()
reversed (month)
计数
# list.count(obj) 统计某个元素在列表中出现的次数,返回元素在列表中出现的次数
example03.count(6)
比较
# list.sort(cmp=None,key=None,reverse=False) cmp=可选参数,如果指定了该参数会使用该参数的方法进行排序。key:用来比较的元素,reverse:排序规则。reverse=True为降序,reverse=False为升序(默认)。
example04 = [123, 'Google', 'Baidu', 'Taobao', 'Facebook']
example04.sort()

拷贝
# 浅拷贝:有a,b两个列表,将b的地址赋值给a,a,b同时指向一个链表,a,b的值永远是一样的
b = [1, 2, 3, 4]
a = b
# list.copy() 将当前列表复制一份相同的列表,新列表与旧列表内容相同,但内存空间不同
old = [1,2,3,4,5]
new = old.copy()
# 使用列表生成式
old = [1,[1,2],[1,2,3],4]
new = [i for i in old]

new2 = []
for i in range(len(old)):
    new2.append(old[i])
# 使用切片[:]
new2 = old[:]

#深拷贝:深拷贝,复制所用层的值,与旧列表是完全独立的个体,原列表不会对新列表产生任何影响。
#new = copy.deepcopy( old )
import copy
old = ['人''生', '苦', '短', '我', '选', 'python',]
new = copy.deepcopy(old)

列表切片
# list[start : end : step ] start:切片起点索引;end:切片终点索引,但不包括终点索引的值;step是步长,默认是1,当step为负的值,则从后开始索引。
example05 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
t = example[0:3:2]
 

例子

#输入10个数,计算平均值,方差,标准差,找出最大值,最小值
nums = []
for i in range(10):
    print(f'请输入第{i + 1}数据:', end=' ')
    temp = int(input())
    nums.append(temp)
mean_value = sum(nums) / len(nums)
max_value = max(nums)
min_value = min(nums)
total = 0
for num in nums:
    total += (num - mean_value) ** 2
# 方差
var_value = total / (len(nums) - 1)

# 标准差
std_value = var_value ** 5

print(f'均值:{mean_value}'
      f'方差:{var_value:.3f}'
      f'标准差:{std_value:.3f}'
      f'最大值:{max_value}'
      f'最小值:{min_value}')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值