小甲鱼 发表于 2020-7-30 06:03:33

已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

aaron.yang 发表于 2020-7-30 09:37:17

沙发

phoenix_qwq 发表于 2021-4-4 11:49:17

>>> y = [-1-i] for i in range(len(matrix))]
对吗?

zhenzhou952 发表于 2021-4-5 17:03:33

diag = for i in range(len(matrix))]

zdasd 发表于 2021-4-8 23:53:09

**1.列表推导式**

将列表中的每一个元素的值都变成原来的2倍

使用循环,利用下标索引更新每一个元素的值

>>> oho =
>>> for i in range(len(oho)):
        oho = oho * 2

       
>>> oho


使用列表推导式,能使代码更加简练

>>> oho =
>>> oho =
>>> oho

[从程序的执行效率上来说,列表推导式的效率通常要比循环语句快上一倍左右的速度]

列表推导式的基本语法:

>>> x =
>>> x

>>> x =
>>> x


用循环的方法

>>> x = []
>>> for i in range(10):
        x.append(i+1)

用列表推导式处理字符串               
       
>>> x


>>> y =
>>> y
['FF', 'ii', 'ss', 'hh', 'CC']

将每一个字符都转换成对应的Unicode编码并保存为列表,需要使用内置函数ord
ord:将单个字符串转换为对应的编码

>>> code =
>>> code


通过列表推导式将举证第二列的元素提取出来

>>> matrix = [,
                      ,
                      ]
>>> co12 = for row in matrix]
>>> co12


获取举证主对角线(左上角到右下角)上的元素

>>> diag = for i in range(len(matrix))]
>>> diag


循环和列表推导式这两个写法的效果不完全一样;
循环是通过迭代来逐个修改原列表中的元素;
列表推导式则是直接创建一个新的列表,然后再赋值为原先的这个变量名。

痴我一拳 发表于 2021-5-17 15:25:19

zdasd 发表于 2021-4-8 23:53
**1.列表推导式**

将列表中的每一个元素的值都变成原来的2倍


复习了

123456143542 发表于 2021-5-25 18:50:43

y=[-i-1] for i in range(len(x))]{:10_254:}

FengHL 发表于 2021-7-4 10:31:06

{:5_106:}

adeylx 发表于 2021-7-26 10:32:21

{:10_265:}

pcanswer 发表于 2021-7-31 17:09:50

打卡

周生生ZZ 发表于 2021-8-12 10:53:45

打卡024

Cecilia.D 发表于 2021-8-13 08:16:39

已复习,谢谢

小程奋发图强 发表于 2021-10-11 09:26:10

越到后面人越少{:10_333:}

wangtuan 发表于 2021-11-20 14:37:21

孤独的小鸟 发表于 2021-12-6 13:25:34

{:10_245:}

sha2618918 发表于 2021-12-10 09:50:52

y= for i in range(len(x))]

是阿佳! 发表于 2021-12-17 05:00:38

本帖最后由 是阿佳! 于 2021-12-17 06:53 编辑

1.range() 一般与索引连用,要对每一个元素*2用变量名

2.odr(str)将每一个字符转换成Unicode编码

3。
#获取一个矩阵的两条对角线

#初始化矩阵
matrix = [,
          ,
          ]

#获取第一条对角线

#循环法
_diag = []

for i in range(len(matrix)):
    _diag.append(matrix)

print(_diag)

#列表推导式
diag = for i in range(len(matrix))]

print(diag)


#获取第二条对角线

#循环法
diag_ = []
i = 0
a = len(matrix) - 1

for i in range(len(matrix)):
    diag_.append(matrix)
    a -= 1

print(diag_)

#列表推导式法
diag__ = [-i-1] for i in range(len(matrix))]

print(diag__)

cs2022 发表于 2022-1-14 22:51:38

zhenzhou952 发表于 2021-4-5 17:03
diag = for i in range(len(matrix))]

>>> matrix = [,
              ,
              ]
>>> diag = for i in range(len(matrix))]
>>> diag

cs2022 发表于 2022-1-14 22:53:34

zhenzhou952 发表于 2021-4-5 17:03
diag = for i in range(len(matrix))]

# 测试结果如下
>>> matrix = [,
              ,
              ]
>>> diag = for i in range(len(matrix))]
>>> diag

q7a89z 发表于 2022-2-26 22:06:02

反向时少减了一个1我直接裂开
页: [1] 2 3 4
查看完整版本: 第024讲:列表(VI)