列表,元组,range,字典初识 day4

列表

关键字: list

eg:           lst = [ , , , , , , ,]

方法:

增加:

. append( ) #追加​​​,添加元素进列表最后

. insert ( )​ #插入 括号里前面放插入的位置(索引),后面是插入的内容

.extend( )​​ #扩展 只能进行迭代添加, 只能在添加到后面,后面添加可迭代对象

lis = ["1","2","3"]
lis.extend("alex")      #不设置变量
print(lis)          #['1', '2', '3', 'a', 'l', 'e', 'x']

+ 号是合并列表的方法​​

lis = ["1","2","3"]
lis1 = ["4","5","6"]
print(lis+lis1)     #['1', '2', '3', '4', '5', '6']

 lst * 数字  将列表内的元素翻倍输出 ​

lis = ["1","2","3"]
s = lis*3
print(s) #['1', '2', '3', '1', '2', '3', '1', '2', '3']

删除:

.remove() #移除 通过放在括号里的指定元素进行删除​​.,后面只能加入一个删除参数.只能删除一个.

lis = ["1","2","3","1"]
lis.remove("1")
print(lis)     #['2', '3', '1']

.pop( ) #弹出​​ 默认删除最后一个. 后面可以加元素的索引​指定删除的元素

 l = lst.pop() #l是返回值,返回被弹出的的元素​

.clear( )​ #清空 将列表内的元素都删除

del ​​lst #删除整个列表,即将列表删了

del lst [ ] #通过索引删除对应的元素​

lis = ["1","2","3","1"]
del lis[0]
print(lis)     #['2', '3', '1']

修改​:

lst []​ = ' ' #具体替换, 利用索引

lis = ["1","2","3","1"]
lis[0] = "hello"
print(lis)     #['hello', '2', '3', '1']

lst[0:5] = '' #当一次性​改多个元素时,当后面是一个元素时,将该元素分开替换,后面是多个元素时,将多个元素分别替换前面的索引.

lis = ["1","2","3","4","5","6","7","8"]
lis[0:5] = "hello","wworld"     #因为替换范围是前五个,但是替换的只有两个字符串,所以输出如下
print(lis)     #['hello', 'wworld', '6', '7', '8']

查:

lst[ ] #利用索引进行查询​​

通过for循环查询​​

lis = ["1","2","3"]
for i in lis:
     print(i)
# 1
# 2
# 3

列表的其他操作:

操作列表的时候要进行赋值,增删改查的时候不用赋值。​​

其他的和字符串相通

​.reverse( ) #对列表进行翻转​ ,没有赋值

lis = ["a","f","c","k","z","b"]
lis.reverse()
print(lis)          #['b', 'z', 'k', 'c', 'f', 'a']

​.copy( )

​.sort()  #按大小对列表进行排序​默认升序,对于字母按照单词的首字母按26个字母进行排序,升序, 即按照ASCII进行排序 没有返回值

lis = ["a","f","c","k","z","b"]
lis.sort()
print(lis)          #['a', 'b', 'c', 'f', 'k', 'z']

.sort(reverse=True)    #按照单词的首字母按26个字母进行排序,降序

lis = ["a","f","c","k","z","b"]
lis.sort(reverse=True)
print(lis)     #['z', 'k', 'f', 'c', 'b', 'a']          降序

lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']] lst[-1][1].append('雪碧') print(lst) #[1, '太白', 'wusir', ['麻花疼', ['可口可乐', '雪碧'], '王健林']]

元组 关键字: tuple

元组只能进行索引和计数,还可以切片,切片切出来的还是元组.也能循环,就是不能更改元祖的内容

元组也可以合并,合并是两个的数据类型都应该是tuple​

tu = (1)
print(type(tu))      #<class 'int'>
tu = ("1")
print(type(tu))     #<class 'str'>
tu = (1,)
print(type(tu))     #<class 'tuple'>

tu1 = tu() + (5) #是错误的,因为括号里只有整型一个数据类型,所以表现为整型,不能和元组合并.

​​tu1 = tu() + (5,) #这样子就可以了

​tu = (1,2,3,4)​​

tu.index( )​ #查找​

tu.count( )​ #计数

tu = (1,2,3,4,5,4,3,2)
print(tu.index(3))      #  2查找位置   默认第一个
print(tu.count(4))      #  2        查找个数   
print(tu[:4])              #(1, 2, 3, 4),输出元祖
lst  = [1,2,3,5]
print(lst[0:3])        #[1, 2, 3],输出列表     

元祖也可以嵌套​

​元组中的字符串和数字是不可变的数据类型,而其中嵌套的列表是可以更改的​,就是说其所代表的内存没有改变

之所以使用元组主要是因为元组不可改变,安全系数比列表更高!​

tu = (1,9,8,5,6,8)
print(tu.count(8))  #   2           括号内是需要查找到东西

range

范围 关键字是: range

list (range(0,5)) 输出0 1 2 3 4. ​

​ range( , , ) ​ #(起始位置,终止位置,步长)

range()获取的区间是可迭代的.​

字典

排序是无序的,在Python3.6版本中虽然显示是有序的但是确实是无序的.

字典 关键字是:dict

是唯一的 键值对 数据:​ 表现形式: {键:值}

键必须是不可变的数据类型,值是可变的

​#故列表是不能当键的

#所以元组(内部没有可变的数据类型)是可以当键的​.

​#而字典也不可以当字典的键的,因为字典是可变的.

值是没有要求的.​

​ dic = {'Key':1,1:'True',False:'asdf',{1,2,3}:[1,2,3,4]}​

#​len()是一个python的内置函数,什么数据类型都可以用​.

·列表是可变的有序的数据类型,元组是不可变得有序的数据类型的数据类型.

#列表
# lst = [1,2,3,4]
'''
lst.extend('a')   #增加 只可以添加可迭代对象
'''
'''
lst.append('alex')     #追加,默认加到列表最后
'''
'''
lst.insert(0,'alex')      #添加指定位置,前面是位置,后面是内容
'''
'''
lst.remove(4)                #删除指定元素,后面加入要删除的元素
'''
'''
lst.pop()                      #默认删除最后一个
i=lst.pop(2)                    #删除指定索引的元素,并且可以返回删除的值
'''
'''
lst.clear()                       #清空列表
'''
'''
del lst[1]                            #删除指定位置的元素
'''
'''
lst[1] = 'alex'                      #修改指定位置的元素
'''
'''
lst[0:2] = 'alex','wusir'  
'''
'''
i = lst[0]                              #查询具体位置的元素

'''
'''
# print(lst)
lst = [1,2,3,4,5]
s = lst.count(3)
print(s)
'''
#其他操作
'''
lis = ['1','2','3','9','26','7','3','92','a','c','d']
lis.sort()
lis.reverse()
print(lis)
'''
#列表嵌套
'''
lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']]
lst[-1][1].append('雪碧')
print(lst[-1][1])
print(lst)
'''
'''
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# 将列表lis中的"tt"变成大写(用两种方式)
'''
'''
lis[3][2][1][0] = lis[3][2][1][0].upper()
print(lis)
'''
'''
lis[3][2][1][0] = 'TT'
'''
#将列表中的数字3变成字符串"100"(用两种方式)
'''
lis[3][2][1][1] = '100'
lis[3][2][1][1] = int(lis[3][2][1][1] + 97)
print(lis)
'''
#将列表中的字符串"1"变成数字101(用两种方是)
'''
#lis[3][2][1][-1] = int(lis[3][2][1][-1]) + 100
lis[3][2][1][-1] = 101
print(lis)
'''
'''
print(list(range(10,0,-1)))

for i in range(100,-1,-2):
    print(i)
'''
#练习一
#写代码,有如下列表,按照要求实现每一个功能
# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# 计算列表的长度并输出
# 列表中追加元素"seven", 并输出添加后的列表
# 请在列表的第1个位置插入元素 "Tony", 并输出添加后的列表
# 请修改列表第2个位置的元素为 "Kelly", 并输出修改后的列表
# 请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
'''
lis = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
lenght = len(lis)
lis.append('seven')
lis.insert(0,'Tony')
lis[1] = 'Kelly'
s = 'qwert'
lis.extend(s)
print(lenght,lis)
'''
#练习二
# 写代码,有如下列表,按照要求实现每一个功能
# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# 请删除列表中的元素"ritian", 并输出添加后的列表
# 请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
# 请删除列表中的第2至4个元素,并输出删除元素后的列表
'''
lis = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
lis.remove('ritian')
print(lis)
i = lis.pop(1)
print(i,lis)
del lis[1:4]
print(lis)
'''
#练习三
# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# 将列表li中第三个元素修改成'taibai'
# 将列表li中第四个元素修改成'女神'
# 将列表li中前三个元素修改成'alex1,alex2,alex3'
'''
lis = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
lis[2] = 'taibai'
print(lis)
lis[3] = '女神'
print(lis)
lis[:3] = 'alex1','alex2','alex3'
print(lis)
'''
#练习四
# li = [1, 3, 6, 9, 2, 4, 6, 8]
# 1.
# 将以上这个列表中进行反转
# 2.
# 将以上这个列表中进行降序排列
# 利用下划线将列表的每一个元素拼接成字符串
'''
li = ["alex", "wusir", "taibai"]
lis = [1, 3, 6, 9, 2, 4, 6, 8]
lis.reverse()
print(lis)
lis.sort(reverse = True )
print(lis)
i = '_'.join(li)
print(i)
'''

猜你喜欢

转载自www.cnblogs.com/shmilyxue/p/9862620.html