Python 初阶学习之list集合(二)

共计 3926 个字符,预计需要花费 10 分钟才能阅读完成。

#encoding:utf-8

#有序 list 集合

#a = [1,100,2,4,3]

######---------------------- 增 -------------------------

#通过 append 函数,在最后添加进去

#a = [1,2,3,4]

#b = [5,6,7,8]

# a,b,c = [7,8,9]

# print(a,b,c)

#append 和 extend 区别,append 是把参数当一个整体放进去,extend 是遍历参数,把参数的每个元素添加进最右边

#a.append(b) #[1, 2, 3, 4, [5, 6, 7, 8]]

#a.extend(b) #[1, 2, 3, 4, 5, 6, 7, 8]

#两个列表相加

# a = [1,2,3,4]

# b = [5,6,7,8]

# print(a + b) #[1, 2, 3, 4, 5, 6, 7, 8]

#列表乘

# a = [1,2,3,4]

#print(a *2) #[1, 2, 3, 4, 1, 2, 3, 4]

######---------------------- 删 -------------------------

# #删除倒数第二个元素

#a = [1,2,3,4]

# del a[-2]

# print(a)

#list.remove(元素)

######---------------------- 改 -------------------------

# #修改最后一个元素

# a[-1] = 100

######---------------------- 查 -------------------------

## 通过切片的方式,添加索引 1 到 3 的元素,左闭右开

# a[1:3] = 100

# print(a)

#不使用函数找出最大的元素和索引

# max_index = 0

# index = 0

# for b in a:

# if b > a[max_index]:

# max_index = index

# index += 1

# print(max_index,a[max_index])

#使用函数,获取元素数量,最大元素,最小元素 , 和

# print(len(a))

# print(max(a))

# print(min(a))

# print(sum(a))

#判断 5 是否在 list 中,bool

# a = [1,23,5,6]

# print(4 in a)

# #获取从 0 到 end- 1 的连续列表

# print(list(range(10)))

# #从 6 开始到 10 的连续的值,左闭右开 6,7,8,9

# print(list(range(6,10)))

# #从 0 到 10,每隔三个取值 start end step

# print(list(range(0,10,3)))

# #start 0

# # start + step 3

# # start + 2*step 6

# # start + 3*step 9

#从 5 开始倒数

#print(list(range(5,-1,-1)))

# #start 5

# # start + step 4

# # start + 2*step 3

# # start + 3*step 2

# # start + 4*step 1

# # start + 5*step 0

#从 8 开始到 0 的偶数

#print(list(range(8,-1,-2)))

##list[start :end :step]

# nums = [0,4,7,3,4,5,6,7,8,9]

# #从下标 0 开始到最后,每隔 2 个元素,获取索引为偶数

# print(nums[::2])

# print(nums[0::2])

# #从下标 1 开始到最后,获取索引为偶数的,隔两个的元素

# print(nums[1::2])

# #前 3 个元素,list[:3]

# print(nums[:3])

# #从下标 2 开始到最后的元素

# print(nums[2:])

# #全部元素

# print(nums[:])

# #倒数的元素

# print(nums[::-1])

#多维访问, 最后一个元素里面的索引为 1 的元素

# nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, [1, 2, 3]]

# print(nums[-1][1])

#判断某个元素在不在 list 中

a = [1,32,532,(1234124214,214312),('fafaw'),(213,'faf')]

if (1234124214,214312) in a:

print('在')

else:

print('不在')

#根据元素查索引位置

print(a.index(('fafaw')))

######---------------------- 函数 -------------------------

#enumerate 函数,把 list 的索引和元素放在一起

print(list(enumerate(a)))

# for ind, value in enumerate(a):

# print(ind, value)

#list.clear() 清除列表

#list.copy() 复制列表,内存地址不一样

#list.count(2) 根据元素,判断有多少个 2,如果一个都没有没有 返回值 0

#list.index(2) 根据元素,查参数为 2 的索引位置,有就返回,没有报错,list.index(2,5+1) 查索引 6 之后的元素为 2 的位置

#list.pop(3) 根据索引,移除索引为 3 的元素,有返回值 是移除的元素

#list.pop(0) 从最左边 list.pop() 从最右边开始

#list.remove(5) 根据元素,删除为 5 的元素,如果有多个 5,删除第一个

#list.reverse() 反转 倒序, 内存地址不变

#list.sort() 从小到大排序, 内存地址不变, list.sort(reverse=True) 从大到小排序




#使用 list 函数,把字符串转换为列表

# list_num=list('asdaw3rd21dd2')

# print(list_num)

# list_num=list([1,200,500,600])

# print(list_num)

# #复制,a 和 b 不是同一个内存地址

# a = [1,2,3,4,5]

# b = a[:]

#copy 函数同上

##b = a.copy()

# print(a[:],b[:])

# ##### 引用,a 和 b 是同一个内存地址

# b = a

# print(a[:],b[:])

# ### 查内存地址

# print(id(a))

# print(id(b))

#查某个数据类型的所有函数

#nums = [23,1,23,56,2,10,5,8]

#strs = 'dawd'

# print(dir(nums))

# print(dir(strs))

#查询函数的用法

#help(list.append)

######---------------------- 练习 -------------------------

#list 的和以及平均值,积

# sum = 0

# count = 0

# ji = 1

# for num in a:

# sum += num

# count += 1

# ji *= num

# avg = sum/count

# print(sum,avg,ji)

#找出最大的数字,放在最后

# nums = [23,1,23,56,2,10,5,8]

# for i in range(len(nums)-1):

# if nums[i] > nums[i+1]:

# tmp = nums[i]

# nums[i] = nums[i+1]

# nums[i+1] = tmp

# print(nums)

#找出最大的数

# max_num = 0

# for x in nums:

# if x > max_num:

# max_num = x

# print(max_num)

#冒泡排序

#nums = [23,1,23,56,2,10,5,8]

# for i in range(len(nums)-1):

#循环一次就找出最大的数,把最大的数放在最后面

# for j in range(len(nums)-1):

# if nums[j] > nums[j+1]:

# tmp = nums[j]

# nums[j] = nums[j+1]

# nums[j+1] = tmp

# print(nums)

#插入排序,从第二个元素开始,每次保证前面 n 个元素是有序;取出一个 tmp,和他前面的元素比较,确认比前面的数大时,停止

# nums = [23,1,23,56,2,10,5,8]

# #range(1, len(nums)) #从索引 1 开始

# for idx in range(1, len(nums)):

# tmp = nums[idx]

# tmp_idx = idx - 1

# while tmp_idx > -1:

# if nums[tmp_idx] > tmp:

# nums[tmp_idx +1] = nums[tmp_idx]

# tmp_idx -= 1

# else:

# break

# nums[tmp_idx +1] = tmp

# print(nums)

#Todolist

# job = []

# while True:

# str1 = input('请输入今日任务:')

# if str1 == 'do' :

# #if len(job) > 0: #if job:

# if job:

# print('请完成任务' + job.pop(0))

# else:

# print('无任务')

# break

# else:

# job.append(str1)

#判断两个 list 中是否有重复元素,如有存入 list3,list3 不能重复值

nums_1 = [1,2,9,3,4,5,3,10,11]

nums_2 = [1,100,5,2,3,1,8,7,11,5]

nums_3 = []

#第一种

for a in nums_1:

if a in nums_2 and a not in nums_3:

#if nums_3.count(a) == 0: 也可以使用 count 函数判断 list3 是否重复

nums_3.append(a)

print(nums_3)

#第二种使用集合的方法

nums_3 = list(set(nums_1) & set(nums_2))

print(nums_3)
正文完
 1
caoguojian
版权声明:本站原创文章,由 caoguojian 于2022-04-12发表,共计3926字。
转载说明:除特殊说明外本站文章皆由CGJ发布,转载请注明出处。
一言一句话
-「
评论(没有评论)