长风破浪正其时,Python天堑变通途(4)(列表:打了激素的数组)

1.创建列表:

创建普通列表:

member = [1 , 2 , 3]

创建混合列表:

mix = [1 , 'sayaka' , 3.15 , [1,2,3]]

空列表:

empty = []

2.向列表里添加元素:

>>> member = ['美树沙耶香' , '鹿目圆']
>>> member.append('巴麻美')
>>> member
#可以把.理解为属于
['美树沙耶香', '鹿目圆', '巴麻美']
>>> len(member)
3
>>> 

  注意:extend 要添加列表元素:

>>> member.extend(['晓美焰','佐仓杏子'])
>>> member
['美树沙耶香', '鹿目圆', '巴麻美', '晓美焰', '佐仓杏子']
>>> 

 append() 方法是将参数作为一个元素增加到列表的末尾。extend() 方法则是将参数作为一个列表去扩展列表的末尾。

insert:

>>> member.insert(2,'QB')
>>> #顺序:从零开始,所以2应该插在第三位
>>> member
['美树沙耶香', '鹿目圆', 'QB', '巴麻美', '晓美焰', '佐仓杏子']
>>> 

3.打印列表作业:

#member = ['美树沙耶香' , 13 , '佐仓杏子' , 24]
#for i in member:
    #print(i)
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
count = 0
length = len(member)#length为10
while count < length:#意思是循环5次
    print(member[count], member[count+1])#print(member[0])即为打印列表中的第一个元素
    count += 2

4.列表中成员调换位置元素的(member[x]即为元素的索引值:

temp = member[0]
member[0] = member[1]
member[1] = member[0]

5.从列表中删除元素:

member.remove[x]
del member #删除member整个列表
member.pop(x) #是将一个元素从列表中提取出来,并返回一个值
name = member.pop(1) #将列表中的第二个元素拿出,并为name赋值

6.概念辨析:

语句(比如if,del):逻辑语句不需要括号

bif(比如print,range):是调用的函数,需要括号

7.列表分片:

>>> member = ['a','b','c','d','e']
>>> member[1:3] #: 即为到,语句表示member一到三(index),但是三不包含
['b', 'c'] #原列表没有任何改变

8.list1[0]返回第0个元素的值,list1[0:1]返回一个只含有第0个元素的列表

9.在进行分片的时候,我们知道分片的开始和结束位置需要进行指定,但其实还有另外一个隐藏的设置:步长。

list1 = [1,2,3,4,5,6]
#1)简洁分片操作:
list1[::2] == [1,3,5]
#2)步长不能为0,会报错
  SyntaxError: invalid syntax
#3) 步长可以是负数,改变方向(从尾部开始向左走)
list1[::-2] == [6, 4, 2]

10.要对一个列表进行顺序排序,请问使用什么方法?
  

list1 = [5,1,3,2,4]
list1.sort() #()内默认为reverse == Flase
print(list1)#升序
list1.sort(reverse = True)
print(list1)#降序

11.拷贝列表:

>>> list2 = list1.copy()
>>> list2
[1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]

12.清空列表:(列表还在,只是变成空列表)

>>> list2.clear()
>>> list2
[]

13.列表推导式:

>>> [i*i for i in range(10)] 
#[推导式 for 推导数(目标) in 范围]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

结构是由一对方括号所包含的以下内容:一个表达式,后面跟一个 for 子句,然后是零个或多个 for或 if 子句。 其结果将是一个新列表,由对表达式依据后面的 for 和 if 子句的内容进行求值计算而得出。 举例来说,以下列表推导式会将两个列表中不相等的元素组合起来:

14.列表推导式作业:

>>> list1 = [(x,y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
#如果x是偶数,则输出,如果y是奇数则输出
>>> list1 = []
#list1给了一个空列表,以append函数一个个往上循环添加
>>> for x in range(10):
	for y in range(10):
		if x%2 == 0:
			if y%2 != 0:
				list1.append((x,y))
>>> list1
[(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]

15.列表推导式作业2:(可以全部写在一行里,离大谱):

list1 = ['1.just do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
list2 = ['4.阿迪达斯','2.李宁','3.鱼c工作室','1.耐克']
list3 = []
for slogan in list1:#每一个list1的元素(元素剥离)
    for name in list2:#每一个list2的元素
        if slogan[0] == name[0]:#如果每一个元素的第一个数字相等
            list3.append(name + ':' + slogan[2:])#slogan是从第三个字符开始算
print(list3)

16.列表中的逻辑操作符:

>>> list1 = [123,234]
>>> list2 = [234,345]
>>> list3 = list1 + list2
>>> list3
[123, 234, 234, 345]
>>> list1*3
[123, 234, 123, 234, 123, 234]
>>> list4 = [123,234,['a','b']]
>>> 'a' in list4[2][0]
True

17.列表中的常用bif(属于列表中的内置方法,需要加‘.’):

count():计算参数在列表中出现的次数

index():返回参数在列表中的位置:

list.index(参数,start,end)

reverse():整个翻转

sort():排序函数:默认为升序:

sort(func,key,reverse)#reverse默认为FALSE

18.辨析:

list1 = [2,1,3]
list2 = list1[:]  #完全拷贝,根原列表变化无关
list3 = list1  #跟原列表一起变化

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值