4.列表 元组 range

列表的增删改查

l1 =[1,'fsjfk',[1,2,3],(2,3,4),{'name':'age'}]
print (l1)
索引,切片
l2 =['dkl','fref','rferf','fggrg','fddk']
print(l2[0],type(l2[0]))

print (l2[0:3:2]) 切片隔开切
print (l2[0:4])
#索引出来的是字符串类型
dkl <class 'str'>
l1 = ['dsf','rgeg','rgerg','ergerg','hhhhh']
l1.append('小黑')
l1.append([1,2,3])
l1.append([1,2,3])
print (l1)  添加在列表的最后
l1 = ['lyy','shi','da','shuai','bi','1','2']
'''while True :
    username = input ('>>>/Q或q退出')
    if username.upper() == Q :
        break
        l1.append(username)
print (l1)'''

插入 insert

l1 = ['小新','jkdjs','efef','efe',[99,'lyy','hht'],2]
l1.insert(3,'egon')
print (l1)
extend 分开成单个字符插入
l1.extend('黄慧婷')
print (l1)
['小新', 'jkdjs', 'efef', 'egon', 'efe', [99, 'lyy', 'hht'], 2]
['小新', 'jkdjs', 'efef', 'egon', 'efe', [99, 'lyy', 'hht'], 2, '', '', '']
l1.extend([1,2,33,4])
['小新', 'jkdjs', 'efef', 'efe', [99, 'lyy', 'hht'], 2, 1, 2, 33, 4]

删除  pop按位置删除

l1 = ['lyy','shi','da','shuai','bi','1','2']
l1.pop(2)
print (l1)
ret = l1.pop(1)
print (ret)有返回值
print (l1)
['lyy', 'shi', 'shuai', 'bi', '1', '2']
shi
['lyy', 'shuai', 'bi', '1', '2']

remove 按元素删除

ret = l1.remove('da')
print (ret)无返回值
print (l1)

clear 清空列表
'l1 = ['lyy','shi','da','shuai','bi','1','2']
l1.clear() 剩余一个空串
print (l1)

del 功能1删除列表
del l1
print(l1)
功能 2
l1 = ['lyy','shi','da','shuai','bi','1','2']
del l1[0]
print (l1)
del l1[0:3]
print (l1)
del l1[1::2] 删除索引为奇数位的元素
print (l1)

按照索引去改,直接修改

l1[4] = '男神'
print (l1)
l1 = ['lyy','shi','da','shuai','bi','1','2']
l1 [0:2] = ['黄慧婷','刘洋洋']
print (l1)
l1 [0:2] = 'liuyangyang','huanghuiting'
print (l1)
['黄慧婷', '刘洋洋', 'da', 'shuai', 'bi', '1', '2']
['liuyangyang', 'huanghuiting', 'da', 'shuai', 'bi', '1', '2']

查   切片,按索引去查

print (l1[0])
print (l1[0:3])
for循环查
for i in l1 :
  print (i)
l2 =[1,3,6,5,4,7,8,9,10]
print (len(l2))
index  通过元素找索引
print (l1.index('shi'))
列表的嵌套
l1 = ['小新','jkdjs','efef','efe',[99,'lyy','hht'],2]
#首字母大写
a = l1[1].capitalize()
l1[1] = a
print (l1[1])

Jkdjs

l1 [1] = l1 [1] .capitalize()
l1 [1] = 'Jkdjs'
print (l1[1])  #直接赋值,有些情况不适合

s = l1 [3].upper()
l1 [3] = s
print (l1 [3])#全部大写
l1 [4][1] =  l1 [4][1].upper()
print (l1 [4][1])#列表中的列表中的元素全部大写
l1 [4][0] ='100'

元组

元组就是不可变的列表,元组使用()来表示,元素与元素之间用逗号隔开,数据类型没有限制,只读列表

不可变指的是第一层元素不可变,第二层取决于你的数据类型

元组如果是空

tu = tuple()

元组如果是只有一个

要在tu = (1,)

要在元素后边加逗号

 

 

tu = (' 二师兄','大师兄','沙师弟','师父','白龙马')

for el in tu:     el ement(元素)   

print (i)

打印的是元素

 

tu = (1,2,'wusir','taibai',[2,3,4,],True)
l = [1,2,True]
for i in tu:
    print(i)
print(tu[2:])
1
2
wusir
taibai
[2, 3, 4]
True
('wusir', 'taibai', [2, 3, 4], True)

 

tu1 = (1,2,'wusir',[1,2,3],(2,3,4),'taibai',True)
tu1[3].pop(1)
print(tu1)按照索引删除 元组内含列表,元组不可变,但是列表可以变(1, 2, 'wusir', [1, 3], (2, 3, 4), 'taibai', True)

元组除了不能改变值,其余和列表的增删改查相似print(len(tu))
print(tu.count(1))
print(tu.index('wusir'))

6
2
2

 

range  

当作:范围列表[],列表中的元素是数字,且可控的有效

数字范围一般与for配合使用

for i in range(1,10) :
    print (i)输出1,2,3.。。。9
for i in range(1,101) :
    print (i)  输出1-100
for i in range (0,11):
    print (i) 0-10 0和逗号可以省略
for i in range(1,10,2) :
    print (i)  间隔打印,从1开始顾头不顾尾
for i in range(10,0,-1) :
    print (i)  10 9 8 7...1
for i in range(10,-1,-1):
    print (i)
    想打印0,就得-1,因为切片的规则

将元组中的元组的数据也依次打印出来


l1 = [1,2,3,'alex',[2,3,'wusir'],7]
for i in l1 :
    if type(i) == list :
        for j in i :
            print (j)
    else :        
        print (i)
判断如果 i 的类型为列表,则打印值为i列表中的数据 

 lst = ['张无忌',‘张三丰’‘张一山’‘张翠山’‘张学勇’]

for i in lst:

print (i)

这样循环没有索引

 

for i in range(len(last))

print (i,last[i])   又有索引,又有元素






posted on 2018-09-24 22:50  小王子QAQ  阅读(29)  评论(0)    收藏  举报