day04:数据类型初始2:列表 元祖
一、列表
1、增
append
#添加 append li = ['alex', 'wusir', 'egon', 'taibai'] li.append('日天') print(li)
例子
# 往已有的列表添加名字,要停止输入就输入2 while 1: username = input('>>>') if username.strip().upper() == '2': break else: li.append(username) print(li)
插入insert
li = ['alex', 'wusir', 'egon', 'taibai']
li.insert(2, 'xiaox') # 往第二个位置插入
print(li)
extend:可迭代的
# extend 可迭代的
li = ['alex', 'wusir', 'egon', 'taibai']
li.extend('one') print(li) li.extend([1, 2, 3]) print(li)
2、删
pop
li = ['alex', 'wusir', 'egon', 'taibai'] # name = li.pop(0) # 返回值 name = li.pop() # 默认删除最后一个 print(name, li)
按元素去删除:
# 按元素去删除 li.remove('taibai') # 按元素去删除 print(li) li = ['alex', 'wusir', 'egon', 'taibai'] li.clear() # 清空 print(li) li = ['alex', 'wusir', 'egon', 'taibai'] del li
3、改
li = ['alex', 'wusir', 'egon', 'taibai']
li[0] = '男兽'
li[0] = [1,2,3] # 切片 li[0:3] = '云姐plfdslkmgdfjglk' li[0:3] = [1,2,3,'春哥','咸鱼哥'] print(li)
4、查
li = ['alex', 'wusir', 'egon', 'taibai']
for i in li: print(i) print(li[0:2])
5、str与列表的公共方法
l = len(li) print(l) num = li.count('taibai') print(num) print(li.index('wusir'))
6、排序与反转
排序:是按照第一个字符的ASCII码的位置去排的。
# 正向排序 li.sort() print(li) # 反向排序 li.sort(reverse=True) print(li) # #反转 li.reverse() print(li)
7、列表的嵌套
li = ['taibai','武藤兰','苑昊',['alex','egon',89],23] print(li[1][1]) name = li[0].capitalize() print(name) li[0] = name li[0] = li[0].capitalize() li[2] = '苑日天' print(li[2].replace('昊','ritian')) li[2] = li[2].replace('昊','ritian') li[3][0] = li[3][0].upper() print(li)
example:将列表中的子列表的每个元素也打印出来
# 法一 li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds'] for i in li: if type(i) == list: for k in i: print(k) else: print(i) # 法二 for i in range(len(li)): if type(li[i]) == list: for j in li[i]: print(j) else:print(li[i])
二、元祖
只读列表,可循环查询,可切片。
tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon') print(tu[3]) print(tu[0:4]) for i in tu: print(i) tu[4][3]=tu[4][3].upper() print(tu) tu[4].append('sb') print(tu)
三、列表转换为字符串(join)
s = 'alex' s1 = 'sb'.join(s) print(s1) #列表转化成字符串 list -----> str join li = ['taibai','alex','wusir','egon','女神',] s = '++++'.join(li)
# 字符串转化为列表 str ----->list split() print(s)
s1 = s.split('++++')
print(s1)
四、昨日作业讲解
# s = '132a4b5c' # s1 = s[0]+s[2]+s[1] # print(s1) #使用while和for循环分别打印字符串s=’asdfer’中每个元素。 s = 'fkld' # for i in s: # print(i) # index = 0 # while 1: # print(s[index]) # index += 1 # if index == len(s):break #如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。 # content=input('>>>').strip() # con1=content.split('+') #li[] # num=0 # for i in con1: # num+=int(i) # print(num) # content=input('>>>').strip() # index = content.find("+") # a = int(content[0:index]) # b = int(content[index+1:]) # print(a + b) #咱们任意输入一串文字+数字 统计出来数字的个数 s = input("请输入:") # '1234324324fdsaf1fdsaf12' count = 0 for i in s: if i.isdigit(): count += 1 print(count)

浙公网安备 33010602011771号