设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第66课】列表解析

[复制链接]

0

主题

0

好友

35

积分

新手上路

Rank: 1

11#
发表于 2016-11-29 18:42:01 |只看该作者
crossin先生 发表于 2016-11-25 13:27
';'.join(list_2)

这 ';'.join(list_2) 加在哪里呢?我试了很多地方,都不对呀
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

12#
发表于 2016-11-30 14:47:21 |只看该作者
yunzhou 发表于 2016-11-29 18:42
这 ';'.join(list_2) 加在哪里呢?我试了很多地方,都不对呀

list_2.append(i)
改成
list_2.append(str(i))

print list_2
改成
print ';'.join(list_2)

参考 字符串拼接 相关那几课文章
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

35

积分

新手上路

Rank: 1

13#
发表于 2016-12-1 18:33:02 |只看该作者
crossin先生 发表于 2016-11-30 14:47
list_2.append(i)
改成
list_2.append(str(i))

感谢 crossin先生
回复

使用道具 举报

0

主题

0

好友

58

积分

注册会员

Rank: 2

14#
发表于 2017-8-17 11:03:44 |只看该作者

回帖奖励 +11

感谢先生
回复

使用道具 举报

4

主题

0

好友

64

积分

注册会员

Rank: 2

15#
发表于 2018-3-16 14:01:46 |只看该作者
import random
list1=[i for i in range(1,101) if i%2==0 and i%3==0]
list2=[str(i) for i in list1 if i%5==0]
file=';'.join(list2)
print(file)
回复

使用道具 举报

0

主题

0

好友

48

积分

新手上路

Rank: 1

16#
发表于 2018-6-12 14:06:28 |只看该作者
  1. print(';'.join([str(i) for i in range(1,101) if i%2==0 or i%3==0 or i%5==0]))
复制代码
请教为什么第一个i必须转换成str类型才可以?
回复

使用道具 举报

0

主题

0

好友

48

积分

新手上路

Rank: 1

17#
发表于 2018-6-12 14:32:25 |只看该作者
suiersoda 发表于 2018-6-12 14:06
请教为什么第一个i必须转换成str类型才可以?

我知道了,因为join的结果就是字符串类型,所以生成的i是字符串,第一个i和第二个i代表的含义不同
回复

使用道具 举报

1

主题

0

好友

75

积分

注册会员

Rank: 2

18#
发表于 2018-6-26 16:05:27 |只看该作者
list_1 = ['abc',100,0.123]
list_2 = [str(i) for i in list_1]
print(';'.join(str(list_1)))
print(';'.join(list_2))
print(';'.join(str(list_2)))
运行结果:
[;';a;b;c;';,; ;1;0;0;,; ;0;.;1;2;3;]
abc;100;0.123
[;';a;b;c;';,; ;';1;0;0;';,; ;';0;.;1;2;3;';]
str()的位置不一样运行结果结果也不一样,这个怎么理解?
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

19#
发表于 2018-6-26 23:04:21 |只看该作者
loveting0jie 发表于 2018-6-26 16:05
list_1 = ['abc',100,0.123]
list_2 = [str(i) for i in list_1]
print(';'.join(str(list_1)))

str也是一种序列,每一项是一个字符。
你转成str之后再join,就把每个字符都分割拼接起来了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

75

积分

注册会员

Rank: 2

20#
发表于 2018-6-27 11:22:56 |只看该作者
恩,谢谢老师
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-27 06:49 , Processed in 0.022828 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部