#[元素1,元素2,.....]
lsit1 = [0,2,"abc",'a',True]#列表生成式
lsit2 = range(10)
lsit3 = range(2,10,2)
print(lsit1)#输出 [0, 2, 'abc', 'a', True]
#为了防止生成的列表没有被使用,python3做了一些改变,不会立即生成列表 如果直接输出会有如下场景,只有在调用时候才生成
print(lsit2)#输出 range(0, 10)
print(lsit3)#输出 range(2, 10, 2)#列表推导式
#[表达式 for 变量 in 列表 ]
#[表达式 for 变量 in 列表 if 条件]
nums = [1,2,3,4,5,6]
resultList1 = [num+1 for num in nums]
resultList2 = [num**2 for num in nums]
print(resultList1)#输出[2, 3, 4, 5, 6, 7]
print(resultList2)#输出[1, 4, 9, 16, 25, 36]
resultList3 = [num**2 for num in nums if num%2 !=0]
resultList4 = [num**2 for num in nums if num%2 ==0]
print(resultList3)#输出[1, 9, 25]
print(resultList4)#输出[4, 16, 36]
#append
nums = [1,2,3,4,5,6]
nums.append(1)
nums.append("as")
nums.append(True)
print(nums)#输出[1, 2, 3, 4, 5, 6, 1, 'as', True]#insert
nums = [1,2,3,4,5,6]
nums.insert(1,2)
nums.insert(3,"as")
nums.insert(5,True)
print(nums)#输出[1, 2, 2, 'as', 3, True, 4, 5, 6]#extend
nums1 = [1,2,3,4,5,6]
nums2 = [1,2,3,4,5,6]
iterable = ["as",22,5,True]
str = "asfxgg"
nums1.extend(iterable)
print(nums1)#输出[1, 2, 3, 4, 5, 6, 'as', 22, 5, True]
nums2.extend(str)
print(nums2)#输出[1, 2, 3, 4, 5, 6, 'a', 's', 'f', 'x', 'g', 'g']
#del
nums = [1,2,3,4,5,6]
del nums[1]
print(nums)#输出[1, 3, 4, 5, 6]
del nums#直接删除数组
print(nums)#输出 报错 nums is not defined#pop
nums = [1,2,3,4,5,6]
print(nums.pop(2))#输出3
print(nums)#输出[1, 2, 4, 5, 6]#remove
nums = [1,2,3,4,5,6]
nums.remove(2)
print(nums)#输出[1, 3, 4, 5, 6]nums1 = [1,2,3,2,4,5,6]
nums1.remove(2)
print(nums1)#输出[1, 3, 2, 4, 5, 6]nums2 = [1,2,3,2,4,5,6]
nums2.remove(12)
print(nums1)#输出 报错 list.remove(x): x not in list
nums = [1,2,3,4,5]
nums[1] = 666
print(nums)#输出 [1, 666, 3, 4, 5]
#index
nums = [1,5,6,8,1,2]
x = nums.index(5)#获取5的索引值
print(x,nums[x])#输出 1 5#count
nums = [1,5,6,8,1,2,'a',"a"]
x = nums.count(1)#获取1的个数
a = nums.count("a")#获取"a"的个数
print(x)#输出2
print(a)#输出2#list[]
nums = [3,5,4,8,9,1,3,4,85,3]
pic1 = nums[::]
pic2 = nums[1:4:]
pic3 = nums[1:8:2]
pic4 = nums[::-1]
print(pic1)#输出[3, 5, 4, 8, 9, 1, 3, 4, 85, 3]
print(pic2)#输出[5, 4, 8]
print(pic3)#输出[5, 8, 1, 4]
print(pic4)#输出[3, 85, 4, 3, 1, 9, 8, 4, 5, 3]
#方式 1
#根据元素进行遍历
#for item in items:
# print(item)
nums = [3,5,4,8,9,1,3,4,85,3]
for num in nums:print(num)#方式 2 通过枚举函数
#通过函数将一个可遍历的数据对象 组合为一个索引序列 同时列出数据下标和数据
#语法 enumerate(sequence start=0) sequence--一个序列,迭代器或其他支持迭代对象 start---下标开始位置
nums = ["a","b","c","d","e"]
#1.先根据列表,创建一个枚举对象
#enumerate(nums)#把列表对象转换成枚举对象
#list(enumerate(nums))#再把枚举对象转换成列表对象 这样下标和下标对应的元素就出来了
#遍历整个的枚举对象(枚举对象可以直接被遍历出来)
for idx,val in enumerate(nums):print(idx)print(val)
"""输出
0
a
1
b
2
c
3
d
4
e
"""
判断
比较
#判断
s = "abc"
nums = [1,2,3,65,46]
print("a" in s)#输出True
print("e" not in s)#输出True
print(2 in nums)#输出True
print(65 not in nums)#输出Falsenums = [1,2,3]
nums1 = [3,5,4]
print(nums==nums1)#输出 False
print(nums>nums1)#输出 False
print(nums
#sorted
s = "abcsofjwf"
result = sorted(s)
print(result)#输出['a', 'b', 'c', 'f', 'f', 'j', 'o', 's', 'w']
result1 = sorted(s,reverse=True)
print(result1)#输出['w', 's', 'o', 'j', 'f', 'f', 'c', 'b', 'a']gs = [("lz",12),("lz",32),("lz",25),("lz",65),("lz",99)]
result2 = sorted(gs)
print(result2)#输出[('lz', 12), ('lz', 25), ('lz', 32), ('lz', 65), ('lz', 99)]
#此时想用岁数排序
def getKey(x):return x[1]
result3 =sorted(gs,key=getKey,reverse=True)
print(result3)#输出 [('lz', 99), ('lz', 65), ('lz', 32), ('lz', 25), ('lz', 12)]#sort
def getKey(x):return x[1]
gs = [("lz",12),("lz",32),("lz",25),("lz",65),("lz",99)]
gs.sort(key=getKey,reverse=True)
print(gs)#输出[('lz', 99), ('lz', 65), ('lz', 32), ('lz', 25), ('lz', 12)]
import random
nums = [1,2,3,4,5,6]
random.shuffle(nums)
print(nums)#随机打乱 [1, 3, 6, 4, 2, 5]nums.reverse()
print(nums)#[6, 5, 4, 3, 2, 1]
上一篇:【经典面试题】