Python数据类型-列表

li = [ 'runoob', 786 , 2.23, 'john', 70.2 ] 
格式:列表名 = [元素1,元素2,元素3] 
例子:tinyli = [123, 'john'] 
注意:当列表里只有一个值时要加个逗号,习惯:a=[1,]

1、查

print(li)  # 输出完整列表  == print li[:]
print(li[0])  # 输出列表的第一个元素 运算:print(li[1-1]) = print(li[0])
print(li[1:3])  # 输出第二个至第三个的元素
print(li[2:])  # 输出从第三个开始至列表末尾的所有元素
print(li[:3])  # 打印第一个到第三个元素
print(tinyli * 2)  # 输出列表两次
print(li + tinyli)  # 打印组合的列表
print(li[:])  # 打印所有元素
print(li[1:])  # 打印第二个到最后
print(li[-1])  # 打印最后一个元素
print(li[-2])  # 打印倒数第二个元素
print(li[-2:])  # 打印倒数两个元素
print(li[1:-1])  # 打印第二个元素到倒数第二个
print(li[0:-1:2])  # 隔1个元素打印 方法1:
print(li[::2])  # 方法2:

print(li.index("john"))  # 打印元素值的位置 格式:列表名.index(元素值),如果存在多个 john,则只能取第一个 john
print([li.index("john")])  # 取元素位置,li[li.index("john")]:根据元素位置打印元素值
print(li[li.index("john")])

print(li.count("john"))  # 打印列表中某个元素值重复的数量 格式:列表名.count(元素值)

li.reverse()  # 把列表中的元素的位置翻转 格式:列表名.reverse();再打印
print(li)

li.sort()  # 列表中的元素进行排序,按符号,数字,大写,小写 格式:列表名.sort();再打印;倒序:sort(reverse=True)
print(li)  # 注意,只能是相同的数据类型进行排序,列表里存在不同的数据类型,此方法会报错
b = sorted(li)  # 方法2
print(b)   # 同注意

print('786' in li)  # 查找列表中是否存在指定元素值,注意数据类型 格式:元素值 in 列表名  # 返回布尔类型 true 或 false
li10 = li * 10  # 重复列表 格式:新列表名 = 列表名1 * 次数
print(li10)

2、改

li[0] = 'tom'  # 修改指定位置的元素值 格式:列表名[元素位置] = 新元素值
li[1:3] = ['hjc1', 'hjc2']  # 同时修改多个元素值  格式:列表名[元素位置:元素位置]=['元素值','元素值']

3、删

方法1:要知道位置
del li[3] # 删除指定位置的元素 格式:del 列表名[元素位置] 
del li # 直接删除 li 的这个变量

方法2:要知道元素值是什么,只能删一次,多次用循环
li.remove("mayun") # 删除列表中指定元素值 格式:列表名.remove(元素值) 

方法3:括号内不加任何索引,默认删除最后一个元素,加,指定删除,并返回删除的值
lsit.pop() # 默认删除最后一个元素值 格式:列表名.pop() 

li.clear() # 清空列表所有

4、增

li.insert(3,'111') # 指定位置插入一个新元素 格式:列表名.insert(位置,元素值)
li.append('mayun') # 在最后添加一个元素 格式:列表名.append(元素值)
li3 = li + li1 # 合并列表 格式:新列表名 = 列表名1 + 列表名2
li.extend(li1) # 把一个列表合并到另一个列表 格式:列表名1.extend(列表名2),相当于多个 append 多次添加
li = ['alex','hjc']
print('333'.join(li)) # 拼接 结果:alex333hjc

5、其他操作

# count:统计某个元素在列表中出现的次数
t = ['to', 'be', 'or', 'not', 'to', 'be']
print(t.count('to'))
# 2

# extend:修改了被扩展的列表,而原始的连接操作(+)则不然,他会返回一个全新的列表
a = ['a', 'b', 'c']
b = ['1', '2', '3']
a.extend(b)
print(a)
# ['a', 'b', 'c', '1', '2', '3']
# a+b:两个列表合并成一个新的列表

# 循环取列元素:
li = ['电脑', '鼠标垫', 'U盘', '汽车', ]
for i in range(len(li)):
    print(i, li[i])
'''
0 电脑
1 鼠标垫
2 U盘
3 汽车
'''

# 另一种写法:
for u in enumerate(li, start=0):  # 给每个元素额外添加一个数字 key:默认从0开始自增,可以设置 start 的默认值
    print(u)
'''
(0, '电脑')
(1, '鼠标垫')
(2, 'U盘')
(3, '汽车')
'''
posted @ 2018-04-26 18:36  H-JIACHENG  阅读(233)  评论(0编辑  收藏  举报