8 python列表

list类,列表

1、列表定义,及格式

1、通过中括号定义一个list类对象
2、逗号,分隔每个元素
3、列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去
4、集合内,可以放置任何东西
5、第一个索引是0,第二个索引是1,以此类推
#!/usr/bin/env python
# -*- coding:utf-8 -*-

# list # 类,列表
# 通过list类创建对象li
'''
1、中括号定义一个list类对象
2、逗号,分隔每个元素
3、列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去
4、集合内,可以放置任何东西
'''
li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]

list1[0] ; #取第一个元素

list1[-1]         # 取最后一个元素

list1[ : ] 或者 list1[ : len(list1)] # 取所有列表元素

list1[0 : n]             # 从第0号取到n-1号元素
————————————————


2、列表取值,及遍历

① 索引取值:第一个索引是0,第二个索引是1,以此类推

②切片取值

③for、while循环遍历 

li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]

# 取值:索引取值
print(li[3])   # ['张五常', ['29', 91], '梅超风']
print(li[3][1][0])  # 29
print(li[0])   # 3
# 切片,结果也是一个列表
print(li[4:6])   # ['jason', True]
print(li[4:-1])  # ['jason']


# for循环,遍历
# while循环,遍历
for item in li:
    print(item)

3、修改

1、索引修改
2、切片修改
list[0] = 'D'               # 修改元素值
li[1:3] = [88,99]                  # 切片修改
list.append('E')             # 列表添加元素
list.insert(0 , 'F')           # 在某处插入元素

li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]

#
修改 """ 1、索引修改 2、切片修改 """ # 1、索引修改 li[1] = "challenge" print(li) # [3, 'challenge', 'wuchang', ['张五常', ['29', 91], '梅超风'], 'jason', True] li[1] = [1,2,3] print(li) # [3, [1, 2, 3], 'wuchang', ['张五常', ['29', 91], '梅超风'], 'jason', True] # 2、切片修改 li[1:3] = [88,99] print(li) # [3, 88, 99, ['张五常', ['29', 91], '梅超风'], 'jason', True]

4、删除

1、del li[1]                                           索引删除    

2、del li[1:3]                                         切片删除    

3、 list.remove('1')           # 移除第一次出现的元素

4、 list.pop()             # 移出元素,默认从最后移出,返回该元素值;括号中可加入元素索引值来移除


li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]

#
删除 """ 1、索引删除 2、切片删除 """ # 1、索引删除 del li[1] print(li) # 2、切片删除 del li[1:3]

Python列表脚本操作符

列表对+和*的操作符与字符串相似,+号用于组合列表,*号用于重复列表。

Python表达式 结果 描述
len([1,2,3]) 3 长度
[1,2,3]+[4,5,6] [1,2,3,4,5,6] 组合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
3 in [1,2,3] True 元素是否存在于列表中

for x in [1,2,3]:

    print x

1 2 3 迭代

 

Python列表函数&方法

Python包含以下函数:

序号 函数
1

cmp(list1, list2)

比较两个列表的元素

2

len(list)

列表元素个数

3

max(list)

返回列表元素最大值

4

min(list)

返回列表元素最小值

5

list(seq)

将元组转换为列表

Python包含以下方法:

序号 方法
1

list.append(obj)

在列表末尾添加新的对象

2

list.count(obj)

统计某个元素在列表中出现的次数

3

list.extend(seq)

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

 4  

list.index(obj)

从列表中找出某个值第一个匹配项的索引位置

5

list.insert(index, obj)

将对象插入列表

6

list.pop([index=-1])

移除列表中的一个元素(默认最后一个元素),并返回该元素的值

7

list.remove(obj)

移除列表中某个值的第一个匹配项

8

list.reverse()

反向列表中的元素

9

list.sort(cmp=None, key=None,reverse=False)

对原列表进行排序

5、判断列表存在某个元素


li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]

#
判断列表是否存在某个元素 v = True in li # True v = "a" in li # False print(v)


6、列表与字符串互转

# 类型转换
a = "10086"
print(int(a))
i = 1024
print(str(i))

# 字符串是可迭代对象,可直接转换为list对象
# 字符串转换列表
s = "suijifdafljadffdkasf"
new_li = list(s)
print(new_li) # ['s', 'u', 'i', 'j', 'i', 'f', 'd', 'a', 'f', 'l', 'j', 'a', 'd', 'f', 'f', 'd', 'k', 'a', 's', 'f']

# 列表转字符串
# 仅将列表转换为字符串格式
li = [2,4,6,"fjkd","1024"]
print(str(li))  # '[2, 4, 6, 'fjkd', '1024']'
# 非纯字符串元素列表,无法使用join
# 需要自己写一个for循环处理:既有数字又有字符串
s1 = ""
for i in li:
    s1 += str(i)
print(s1)

# 非纯字符串元素列表,无法使用join
# 需要自己写一个for循环处理:既有数字又有字符串
li1 = [2,4,6,"fjkd","1024"]
print("_".join(li1))  # TypeError: sequence item 0: expected str instance, int found

# 非纯字符串元素列表,无法使用join
li2 = [2,3,4]
print("_".join(li2))  # TypeError: sequence item 0: expected str instance, int found

# 列表中只有字符串元素,可以直接使用join方法,
# 将列表转换为字符串
li3 = ["a","b","c"]
print("_".join(li3))  # a_b_c

7、列表追加

# 列表追加元素
li = [1,2,3,4,5]
ret = li.append(6)
print(ret) # None  , append方法无返回值
print(li)  # [1, 2, 3, 4, 5, 6]
li.append("jason")
print(li)  # [1, 2, 3, 4, 5, 6, 'jason']
li.append([10010,10086])
print(li)  # [1, 2, 3, 4, 5, 6, 'jason', [10010, 10086]]

8、列表清空

# 列表清空
li.clear()
print(li)  # []

9、拷贝,copy浅拷贝

# 拷贝、复制列表, copy浅拷贝
li = [1,2,3,4]
n_li = li.copy()
print(n_li)    # [1, 2, 3, 4]

10、统计元素出现次数

# 统计元素出现次数
li = [11,22,22,33,55,55,55,6]
c = li.count(55)  # 统计列表中55的个数
print(c)  # 3

11、打平后追加,extend

# 打平后追加 , extend
# 将可迭代对象,打平后追加到列表
# def extend(self, iterable)
li = [1,2,3,4,5,6]
# li.append(["jason","陈平"])  # [1, 2, 3, 4, 5, ['jason', '陈平']]
li.extend(["jason","陈平"]) # [1, 2, 3, 4, 5, 6, 'jason', '陈平']
print(li)

# 对字符串进行列表extend追加操作
li = [1,2,3,4,5,6]
li.extend("王羲之")
print(li)  # [1, 2, 3, 4, 5, 6, '王', '羲', '之']

12、获取元素首次出现的索引位置

# 获取元素首次出现的索引位置
# def index(self, value, start=None, stop=None)
li = [11,22,22,33,55,55,55,6]
i = li.index(55)
print(i)  # 4

13、插入

# 插入,指定位置插入元素
# def insert(self, index, p_object)
li = [1,2,3,4,5,6]
li.insert(0,"a")
print(li) # ['a', 1, 2, 3, 4, 5, 6]

14、删除

# 删除元素
# 1、pop方法删除指定位置元素,并return该元素值
# def pop(self, index=None)  , index默认值为-1,表示最后一个
li = [1,2,3,4,5,6]
v = li.pop()
print(v)   # 6
print(li)  # [1, 2, 3, 4, 5]

li = [1,2,3,4,5,6]
v = li.pop(1)
print(v)   # 2
print(li)  # [1, 3, 4, 5, 6]

# 2、 remove 删除列表中指定值,左边优先
# def remove(self, value) , 无返回值
li = [1,2,3,4,5,6]
rm = li.remove(3)
print(rm)  # None
print(li)  # [1, 2, 4, 5, 6]

15、反转列表

# 反转列表
li22 = [1,2,3,4,5,6]
li22.reverse()
print(li22)  # [6, 5, 4, 3, 2, 1]

16、排序方法

# 排序sort
# def sort(self, key=None, reverse=False)
li = [2,1,6,3,2,8,4]
li.sort()                # 升序   [1, 2, 2, 3, 4, 6, 8]
# li.sort(reverse=True)  # 降序   [8, 6, 4, 3, 2, 2, 1]
print(li)





原文地址:https://www.cnblogs.com/LIAOBO/p/13352470.html