一、列表
- 列表是写在[]之间的,每一项元素使用逗号分隔开的数据类型
- 列表可以完成大多数集合类的数据结构实现,列表中的元素的类型可以不相同,它支持数字、字符串甚至可以包含列表,也就是列表的嵌套
1 索引和切片
- 列表同字符串一样,有索引也可以切片,只不过切片得到的是一个列表
变量[头下标:尾下标:步长]
1 list = [
'abcd', 786, 2.23,
'bast', 70.2
]
2 tinylist = [123,
'bast']
3
4 print(list)
# 输出完整列表
5 print(list[0])
# 输出列表第一个元素
6 print(list[1:3])
# 从第二个开始输出到第三个元素
7 print(list[2:])
# 输出从第三个元素开始的所有元素
8 print(tinylist * 2)
# 输出两次列表
9 print(list + tinylist)
# 连接列表
和字符串不相同的是:列表是可以发生改变的,能够直接在原来的对象上进行操作
2 “增”
li = [1,
'a',
'b',2,3,
'a']
# li.append('aaa') #增加到最后 # li.append([1,2,3]) #增加到最后
# li.insert(0,55) #按照索引去增添指定元素,插入每一个数据的位置都需要向后移动,效率比较低
# li.extend(['q,a,w']) #迭代的去增 # li.extend(['q,a,w','aaa']) # li.extend('a') # li.extend('abc') # li.extend('a,b,c')
3 “删”
l1 = li.pop(1)
#按照索引位置去删除,有返回值,默认为最后一个
print(l1)
del li[1:3]
#按照位置去删除,也可切片删除没有返回值。
print(li)
# li.remove('a') #按照元素去删除
print(li)
# li.clear() #清空列表
4 “改”
# li[1] = 'dfasdfas' # 索引改
# print(li) # li[1:3] = ['a','b'] #切片改 如果步长数不是1, 要注意元素个数
# print(li)
5 “查”
切片去查,或者用循环去查
for el
in li:
print(el)
6 其他操作
- count() : 方法用来统计元素在列表中出现的次数
a = [
"q",
"w",
"q",
"r",
"t",
"y"]
print(a.count(
"q"))
- index() : 从列表中找某个元素第一个匹配项的索引位置
a = [
"q",
"w",
"r",
"t",
"y"]
print(a.index(
"r"))
- sort() : 排序,默认为升序,reverse = True为降序
- reverse() : 将列表中的元素反向存放
a = [2,1,3,4,5] a.sort()
# 他没有返回值,所以只能打印a
print(a) a.reverse()
#他也没有返回值,所以只能打印a
print(a)
7 列表的嵌套
采用降维操作,一层一层分析
lst = [1,
"dalao",
"jiumo", [
"马花藤", [
"可口可乐"],
"王监零"]]
# 找到"dalao"
print(lst[1
])
# 找到"dalao"和"jiumo"
print(lst[1:3
])
# 找到"dalao"的"a"
print(lst[1][1
])
# 将"jiumo"然后字母大写,在放回去
s = lst[2
]
s =
s.capitalize()
lst[2] =
s
print(lst)
# 简写
lst[2] = lst[2
].capitalize()
print(lst)
# 把"dalao"换成"dadiao"
lst[1] = lst[1].replace(
"lao",
"diao")
print(lst)
# 把"马花藤"换成"马化藤"
lst[3][0] = lst[3][0].replace(
'花',
'化')
print(lst[3
][0])
lst[3][1].append(
"雪碧")
print(lst)
二、元组
1. 特性:
元组(tuple)俗称不可变的列表,又可以被看成只读列表。元组写在小括号里,元素之间用逗号隔开。
元组中的元素的类型可以不相同。虽然tuple的元素不可变,但是他可以包括可变的对象,比如list列表。
元组与字符串类似,可以被索引,下标从0开始,-1作为结尾。可以做切片处理。
元组构造如果只包含0个或者1个元素的时候有特殊的语法规则:
1 tup1 = ()
# 空元组
2 tup2 = (20,)
# 一个元素,需要在元素后添加逗号
元组可以使用+操作符进行拼接
2 操作
元组不允许“增、删、改”。
元组允许“查看”、“循环“、”切片“
查看的方式可以使用索引,也可以使用 for 循环
1 print(tu[2
])
2 print(tu[::2])
注意:
元组是不允许操作,但是元组有count(),index(),len()等方法。并且元组内的子元素是可以进行操作的,这取决与子元素是否是是可变对象。
1 # 例如子元素为列表list时,可以对列表中的元素进行操作:
2 tu = (1,
"哈喽",
"how are you?",
"jiumo", [
"jiumo"])
3 tu[4].append(
"dada")
4 print(tu)
3 range()方法
range()是一个可迭代对象
—— range(n) ==> 0 ——> n -1
1 for i
in range(0, 10
):
2 print(i)
# 输出结果为 0,1,2 ......9
—— range(n,m) ==> n ——> m
1 for i
in range(2
, 0):
2 print(i)
# 输出结果为 2,3,4......9
—— range(n, m, i) ==> n ——> m 步长为i
1 lst = [
"马頔",
"陈粒",
"赵雷",
"好妹妹"]
2 for i
in range(len(lst)):
3 print(i)
4 print(lst[i])
转载于:https://www.cnblogs.com/jiumo/p/9398388.html
相关资源:python如何把字符串类型list转换成list